]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[dhcp] Add symbolic definitions for DHCP client architecture values
authorMichael Brown <mcb30@ipxe.org>
Wed, 6 Jul 2011 14:26:01 +0000 (15:26 +0100)
committerMichael Brown <mcb30@ipxe.org>
Wed, 6 Jul 2011 14:26:43 +0000 (15:26 +0100)
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/arch/i386/include/efi/ipxe/dhcp_arch.h
src/arch/i386/include/pcbios/ipxe/dhcp_arch.h
src/arch/x86_64/include/efi/ipxe/dhcp_arch.h
src/include/ipxe/dhcp.h

index 902caff9576c7f8ee6d3954c1367d922c209e162..18417721917c66123f63c09dc9e99216101e6f50 100644 (file)
@@ -33,7 +33,8 @@ FILE_LICENCE ( GPL2_OR_LATER );
                      'A', 'r', 'c', 'h', ':', '0', '0', '0', '0', '6', ':', \
                      'U', 'N', 'D', 'I', ':', '0', '0', '3', '0', '1', '0' )
 
-#define DHCP_ARCH_CLIENT_ARCHITECTURE DHCP_WORD ( 6 )
+#define DHCP_ARCH_CLIENT_ARCHITECTURE \
+       DHCP_WORD ( DHCP_CLIENT_ARCHITECTURE_IA32 )
 
 #define DHCP_ARCH_CLIENT_NDI DHCP_OPTION ( 1 /* UNDI */ , 3, 10 /* v3.10 */ )
 
index 822b3eba9100f0e762f1117a49fac73edbbcf1e1..a36d9cfa18c86d456e3c7d47ba5c9e9a3b1de1f5 100644 (file)
@@ -33,7 +33,8 @@ FILE_LICENCE ( GPL2_OR_LATER );
                      'A', 'r', 'c', 'h', ':', '0', '0', '0', '0', '0', ':', \
                      'U', 'N', 'D', 'I', ':', '0', '0', '2', '0', '0', '1' )
 
-#define DHCP_ARCH_CLIENT_ARCHITECTURE DHCP_WORD ( 0 )
+#define DHCP_ARCH_CLIENT_ARCHITECTURE \
+       DHCP_WORD ( DHCP_CLIENT_ARCHITECTURE_X86 )
 
 #define DHCP_ARCH_CLIENT_NDI DHCP_OPTION ( 1 /* UNDI */ , 2, 1 /* v2.1 */ )
 
index af41b195ea5259c33fe2be21242cc6d0424833dc..9a4790fdce37b09285d7a58ccb498f13e60958a9 100644 (file)
@@ -30,10 +30,11 @@ FILE_LICENCE ( GPL2_OR_LATER );
 
 #define DHCP_ARCH_VENDOR_CLASS_ID \
        DHCP_STRING ( 'P', 'X', 'E', 'C', 'l', 'i', 'e', 'n', 't', ':',      \
-                     'A', 'r', 'c', 'h', ':', '0', '0', '0', '0', '7', ':', \
+                     'A', 'r', 'c', 'h', ':', '0', '0', '0', '0', '9', ':', \
                      'U', 'N', 'D', 'I', ':', '0', '0', '3', '0', '1', '0' )
 
-#define DHCP_ARCH_CLIENT_ARCHITECTURE DHCP_WORD ( 7 )
+#define DHCP_ARCH_CLIENT_ARCHITECTURE \
+       DHCP_WORD ( DHCP_CLIENT_ARCHITECTURE_X86_64 )
 
 #define DHCP_ARCH_CLIENT_NDI DHCP_OPTION ( 1 /* UNDI */ , 3, 10 /* v3.10 */ )
 
index 148e3d66f6beec2ee230133d4e137b133cb1450d..dbca8e633cc3fdfcfac3e88d0e9988d3e12d336b 100644 (file)
@@ -240,6 +240,39 @@ struct dhcp_client_id {
 /** Client system architecture */
 #define DHCP_CLIENT_ARCHITECTURE 93
 
+/** DHCP client architecture */
+struct dhcp_client_architecture {
+       uint16_t arch;
+} __attribute__ (( packed ));
+
+/** DHCP client architecture values
+ *
+ * These are defined by the PXE specification and redefined by
+ * RFC4578.
+ */
+enum dhcp_client_architecture_values {
+       /** Intel x86 PC */
+       DHCP_CLIENT_ARCHITECTURE_X86 = 0x0000,
+       /** NEC/PC98 */
+       DHCP_CLIENT_ARCHITECTURE_PC98 = 0x0001,
+       /** EFI Itanium */
+       DHCP_CLIENT_ARCHITECTURE_IA64 = 0x0002,
+       /** DEC Alpha */
+       DHCP_CLIENT_ARCHITECTURE_ALPHA = 0x0003,
+       /** Arc x86 */
+       DHCP_CLIENT_ARCHITECTURE_ARCX86 = 0x0004,
+       /** Intel Lean Client */
+       DHCP_CLIENT_ARCHITECTURE_LC = 0x0005,
+       /** EFI IA32 */
+       DHCP_CLIENT_ARCHITECTURE_IA32 = 0x0006,
+       /** EFI BC */
+       DHCP_CLIENT_ARCHITECTURE_EFI = 0x0007,
+       /** EFI Xscale */
+       DHCP_CLIENT_ARCHITECTURE_XSCALE = 0x0008,
+       /** EFI x86-64 */
+       DHCP_CLIENT_ARCHITECTURE_X86_64 = 0x0009,
+};
+
 /** Client network device interface */
 #define DHCP_CLIENT_NDI 94