summaryrefslogtreecommitdiff
path: root/gpxe/src/include/gpxe/rotate.h
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2008-12-12 14:36:02 -0800
committerH. Peter Anvin <hpa@zytor.com>2008-12-14 13:56:44 -0800
commite2ab9215d792d07cfb725de290f416e331b87627 (patch)
tree7fbf2b3f921ef78b277f5d89c1a9a14960a49edc /gpxe/src/include/gpxe/rotate.h
parent36390f9712ac56be1dce7a635322bd96e15620c1 (diff)
downloadsyslinux-e2ab9215d792d07cfb725de290f416e331b87627.tar.gz
gPXE: update to the "kkpxe" branchkkpxe
Update gPXE to the "kkpxe" branch, an experimental branch of the gPXE tree which should let us eliminate the gpxelinux-specific hacks. Specifically, this corresponds to checkin 0963c883a9402bd5846e687a100e196f7e8a2ef7 of git://git.etherboot.org/scm/people/mcb30/gpxe.git. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'gpxe/src/include/gpxe/rotate.h')
-rw-r--r--gpxe/src/include/gpxe/rotate.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/gpxe/src/include/gpxe/rotate.h b/gpxe/src/include/gpxe/rotate.h
new file mode 100644
index 00000000..42ec7196
--- /dev/null
+++ b/gpxe/src/include/gpxe/rotate.h
@@ -0,0 +1,27 @@
+#ifndef _GPXE_ROTATE_H
+#define _GPXE_ROTATE_H
+
+/** @file
+ *
+ * Bit operations
+ */
+
+#include <stdint.h>
+
+static inline uint32_t rol32 ( uint32_t data, unsigned int rotation ) {
+ return ( ( data << rotation ) | ( data >> ( 32 - rotation ) ) );
+}
+
+static inline uint32_t ror32 ( uint32_t data, unsigned int rotation ) {
+ return ( ( data >> rotation ) | ( data << ( 32 - rotation ) ) );
+}
+
+static inline uint64_t rol64 ( uint64_t data, unsigned int rotation ) {
+ return ( ( data << rotation ) | ( data >> ( 64 - rotation ) ) );
+}
+
+static inline uint64_t ror64 ( uint64_t data, unsigned int rotation ) {
+ return ( ( data >> rotation ) | ( data << ( 64 - rotation ) ) );
+}
+
+#endif /* _GPXE_ROTATE_H */