Browse Source

Add pragma pack around packed structures for MSVC.

This changed adds pragmas around packed structures, since Microsoft's
compiler does not recognize __attribute__((packed)).
Alexcolom 6 years ago
parent
commit
5bb001e90f
92 changed files with 407 additions and 0 deletions
  1. 4 0
      apps/debug/client/remsrv.h
  2. 4 0
      apps/debug/client/stabs.h
  3. 4 0
      apps/libc/dynamic/net.h
  4. 4 0
      apps/libc/dynamic/time.c
  5. 4 0
      boot/lib/include/bios.h
  6. 4 0
      boot/lib/pcat/int10.c
  7. 4 0
      drivers/ahci/ahci.h
  8. 4 0
      drivers/ata/ata.h
  9. 4 0
      drivers/net/ethernet/am3eth/am3eth.h
  10. 4 0
      drivers/net/ethernet/atl1c/atl1c.h
  11. 4 0
      drivers/net/ethernet/dwceth/dwceth.h
  12. 4 0
      drivers/net/ethernet/e100/e100.h
  13. 4 0
      drivers/net/ethernet/e1000/e1000.h
  14. 4 0
      drivers/net/ethernet/pcnet32/pcnet.h
  15. 4 0
      drivers/net/ethernet/rtl81xx/rtl81.h
  16. 4 0
      drivers/net/net80211/eapol.c
  17. 4 0
      drivers/net/net80211/mgmt.c
  18. 4 0
      drivers/net/netcore/ipv4/arp.c
  19. 4 0
      drivers/net/netcore/ipv4/dhcp.c
  20. 4 0
      drivers/net/netcore/ipv4/igmp.c
  21. 4 0
      drivers/net/netcore/ipv6/mld.c
  22. 4 0
      drivers/net/netcore/ipv6/ndp.c
  23. 4 0
      drivers/net/netcore/tcp.h
  24. 4 0
      drivers/net/netcore/udp.c
  25. 4 0
      drivers/net/wireless/rtlw81xx/rtlw81.h
  26. 4 0
      drivers/pci/msi.c
  27. 12 0
      drivers/plat/goec/goecprot.h
  28. 4 0
      drivers/sd/rk32xx/sdrk32.h
  29. 4 0
      drivers/sound/broadcom/bc27pwma/pwma.c
  30. 4 0
      drivers/sound/intel/hda/hdahw.h
  31. 4 0
      drivers/usb/ehci/ehcihw.h
  32. 4 0
      drivers/usb/uhci/uhcihw.h
  33. 4 0
      drivers/usb/usbkbd/usbkbd.h
  34. 4 0
      drivers/usb/usbmass/usbmass.c
  35. 12 0
      include/minoca/debug/dbgproto.h
  36. 8 0
      include/minoca/debug/spproto.h
  37. 4 0
      include/minoca/dma/dmab2709.h
  38. 4 0
      include/minoca/dma/edma3.h
  39. 4 0
      include/minoca/fw/acpitabs.h
  40. 4 0
      include/minoca/fw/smbios.h
  41. 12 0
      include/minoca/kernel/arm.h
  42. 4 0
      include/minoca/kernel/bootload.h
  43. 4 0
      include/minoca/kernel/crashdmp.h
  44. 4 0
      include/minoca/kernel/io.h
  45. 4 0
      include/minoca/kernel/x64.h
  46. 4 0
      include/minoca/kernel/x86.h
  47. 4 0
      include/minoca/lib/fat/fatlib.h
  48. 4 0
      include/minoca/lib/tzfmt.h
  49. 4 0
      include/minoca/net/ip4.h
  50. 4 0
      include/minoca/net/ip6.h
  51. 4 0
      include/minoca/net/net80211.h
  52. 4 0
      include/minoca/net/net8022.h
  53. 4 0
      include/minoca/net/netlink.h
  54. 4 0
      include/minoca/sd/sd.h
  55. 4 0
      include/minoca/sd/sddwc.h
  56. 4 0
      include/minoca/soc/b2709os.h
  57. 4 0
      include/minoca/storage/ata.h
  58. 4 0
      include/minoca/uefi/protocol/devpath.h
  59. 4 0
      include/minoca/uefi/spec.h
  60. 4 0
      include/minoca/usb/usb.h
  61. 4 0
      kernel/hl/armv7/am335.h
  62. 4 0
      kernel/hl/armv7/integcp.h
  63. 4 0
      kernel/hl/armv7/omap3.h
  64. 4 0
      kernel/hl/armv7/omap4.h
  65. 4 0
      kernel/hl/armv7/realview.h
  66. 4 0
      kernel/hl/armv7/rk32xx.h
  67. 4 0
      lib/bconflib/bconfp.h
  68. 4 0
      lib/im/elf.h
  69. 8 0
      lib/im/pe.h
  70. 4 0
      lib/partlib/partlibp.h
  71. 11 0
      uefi/core/partfmt.h
  72. 4 0
      uefi/core/ramdisk.c
  73. 4 0
      uefi/dev/bcm2709/sd.c
  74. 4 0
      uefi/dev/bcm2709/serial.c
  75. 4 0
      uefi/include/dev/sd.h
  76. 4 0
      uefi/include/dev/tirom.h
  77. 4 0
      uefi/include/efiimg.h
  78. 4 0
      uefi/include/fwvol.h
  79. 4 0
      uefi/include/uboot.h
  80. 4 0
      uefi/plat/beagbone/sd.c
  81. 4 0
      uefi/plat/beagbone/serial.c
  82. 4 0
      uefi/plat/beagbone/smbios.c
  83. 4 0
      uefi/plat/bios/biosfw.h
  84. 4 0
      uefi/plat/bios/disk.c
  85. 4 0
      uefi/plat/bios/video.c
  86. 4 0
      uefi/plat/integcp/serial.c
  87. 4 0
      uefi/plat/panda/init/fatboot.c
  88. 4 0
      uefi/plat/panda/sd.c
  89. 4 0
      uefi/plat/panda/serial.c
  90. 4 0
      uefi/plat/veyron/fwbuild/fwbuild.c
  91. 4 0
      uefi/plat/veyron/sd.c
  92. 4 0
      uefi/plat/veyron/serial.c

+ 4 - 0
apps/debug/client/remsrv.h

@@ -116,6 +116,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _DEBUG_REMOTE_HEADER {
     ULONG Magic;
     ULONG Command;
@@ -217,6 +219,8 @@ typedef struct _DEBUG_REMOTE_SOURCE_DATA {
     ULONG FileNameCrc32;
 } PACKED DEBUG_REMOTE_SOURCE_DATA, *PDEBUG_REMOTE_SOURCE_DATA;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
apps/debug/client/stabs.h

@@ -247,6 +247,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _RAW_STAB {
     ULONG StringIndex;
     UCHAR Type;
@@ -255,6 +257,8 @@ typedef struct _RAW_STAB {
     ULONG Value;
 } PACKED RAW_STAB, *PRAW_STAB;
 
+#pragma pack(pop)
+
 //
 // ----------------------------------------------- Internal Function Prototypes
 //

+ 4 - 0
apps/libc/dynamic/net.h

@@ -97,6 +97,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _DNS_HEADER {
     USHORT Identifier;
     USHORT Flags;
@@ -106,6 +108,8 @@ typedef struct _DNS_HEADER {
     USHORT AdditionalResourceCount;
 } PACKED DNS_HEADER, *PDNS_HEADER;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
apps/libc/dynamic/time.c

@@ -114,6 +114,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _CUSTOM_TIME_ZONE {
     TIME_ZONE_HEADER Header;
     TIME_ZONE_RULE StandardRule;
@@ -123,6 +125,8 @@ typedef struct _CUSTOM_TIME_ZONE {
     CHAR Strings[32];
 } PACKED CUSTOM_TIME_ZONE, *PCUSTOM_TIME_ZONE;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
boot/lib/include/bios.h

@@ -119,6 +119,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _INT13_DISK_ACCESS_PACKET {
     UCHAR PacketSize;
     UCHAR Reserved;
@@ -170,6 +172,8 @@ typedef struct _INT13_EXTENDED_DRIVE_PARAMETERS {
     ULONG EnhancedDiskInformation;
 } PACKED INT13_EXTENDED_DRIVE_PARAMETERS, *PINT13_EXTENDED_DRIVE_PARAMETERS;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
boot/lib/pcat/int10.c

@@ -194,6 +194,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _VESA_INFORMATION {
     ULONG Signature;
     USHORT VesaVersion;
@@ -353,6 +355,8 @@ typedef struct _VESA_MODE_INFORMATION {
     //UCHAR Reserved2[206];
 } PACKED VESA_MODE_INFORMATION, *PVESA_MODE_INFORMATION;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
drivers/ahci/ahci.h

@@ -527,6 +527,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _SATA_FIS_REGISTER_H2D {
     UCHAR Type;
     UCHAR Flags;
@@ -956,6 +958,8 @@ typedef struct _AHCI_RECEIVED_FIS {
     UCHAR Reserved[0x60];
 } PACKED AHCI_RECEIVED_FIS, *PAHCI_RECEIVED_FIS;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
drivers/ata/ata.h

@@ -250,12 +250,16 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _ATA_PRDT {
     ULONG PhysicalAddress;
     USHORT Size;
     USHORT Flags;
 } PACKED ATA_PRDT, *PATA_PRDT;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
drivers/net/ethernet/am3eth/am3eth.h

@@ -590,6 +590,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _A3E_DESCRIPTOR {
     ULONG NextDescriptor;
     ULONG Buffer;
@@ -597,6 +599,8 @@ typedef struct _A3E_DESCRIPTOR {
     ULONG PacketLengthFlags;
 } PACKED ALIGNED16 A3E_DESCRIPTOR, *PA3E_DESCRIPTOR;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
drivers/net/ethernet/atl1c/atl1c.h

@@ -862,6 +862,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _ATL1C_TRANSMIT_DESCRIPTOR {
     USHORT BufferLength;
     USHORT VlanTag;
@@ -919,6 +921,8 @@ typedef struct _ATL1C_RECEIVE_SLOT {
     ULONGLONG PhysicalAddress;
 } PACKED ATL1C_RECEIVE_SLOT, *PATL1C_RECEIVE_SLOT;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
drivers/net/ethernet/dwceth/dwceth.h

@@ -542,6 +542,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _DWE_DESCRIPTOR {
     ULONG Control;
     ULONG BufferSize;
@@ -552,6 +554,8 @@ typedef struct _DWE_DESCRIPTOR {
     ULONGLONG Timestamp;
 } PACKED DWE_DESCRIPTOR, *PDWE_DESCRIPTOR;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
drivers/net/ethernet/e100/e100.h

@@ -456,6 +456,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _E100_COMMAND {
     volatile ULONG Command;
     ULONG NextCommand;
@@ -516,6 +518,8 @@ typedef struct _E100_RECEIVE_FRAME {
     ULONG ReceiveFrame[RECEIVE_FRAME_DATA_SIZE / sizeof(ULONG)];
 } PACKED E100_RECEIVE_FRAME, *PE100_RECEIVE_FRAME;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
drivers/net/ethernet/e1000/e1000.h

@@ -861,6 +861,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _E1000_TX_DESCRIPTOR {
     ULONGLONG Address;
     USHORT Length;
@@ -904,6 +906,8 @@ typedef struct _E1000_RX_DESCRIPTOR {
     USHORT VlanTag;
 } PACKED E1000_RX_DESCRIPTOR, *PE1000_RX_DESCRIPTOR;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
drivers/net/ethernet/pcnet32/pcnet.h

@@ -557,6 +557,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _PCNET_INITIALIZATION_BLOCK_16 {
     USHORT Mode;
     BYTE PhysicalAddress[ETHERNET_ADDRESS_SIZE];
@@ -696,6 +698,8 @@ typedef struct _PCNET_TRANSMIT_DESCRIPTOR_32 {
     ULONG Reserved;
 } PACKED PCNET_TRANSMIT_DESCRIPTOR_32, *PPCNET_TRANSMIT_DESCRIPTOR_32;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
drivers/net/ethernet/rtl81xx/rtl81.h

@@ -835,6 +835,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _RTL81_TRANSMIT_DESCRIPTOR {
     ULONG Command;
     ULONG VlanTag;
@@ -865,6 +867,8 @@ typedef struct _RTL81_RECEIVE_DESCRIPTOR {
     ULONGLONG PhysicalAddress;
 } PACKED RTL81_RECEIVE_DESCRIPTOR, *PRTL81_RECEIVE_DESCRIPTOR;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
drivers/net/net80211/eapol.c

@@ -313,6 +313,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _EAPOL_PACKET_HEADER {
     UCHAR ProtocolVersion;
     UCHAR Type;
@@ -422,6 +424,8 @@ typedef struct _EAPOL_KDE_GTK {
     UCHAR Gtk[ANYSIZE_ARRAY];
 } PACKED EAPOL_KDE_GTK, *PEAPOL_KDE_GTK;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
drivers/net/net80211/mgmt.c

@@ -175,6 +175,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _NET80211_AUTHENTICATION_OPEN_BODY {
     USHORT AlgorithmNumber;
     USHORT TransactionSequenceNumber;
@@ -225,6 +227,8 @@ typedef struct _NET80211_DEFAULT_RSN_INFORMATION {
     USHORT RsnCapabilities;
 } PACKED NET80211_DEFAULT_RSN_INFORMATION, *PNET80211_DEFAULT_RSN_INFORMATION;
 
+#pragma pack(pop)
+
 //
 // ----------------------------------------------- Internal Function Prototypes
 //

+ 4 - 0
drivers/net/netcore/ipv4/arp.c

@@ -112,6 +112,8 @@ Members:
         receiver.
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _ARP_PACKET {
     USHORT HardwareType;
     USHORT ProtocolType;
@@ -120,6 +122,8 @@ typedef struct _ARP_PACKET {
     USHORT Operation;
 } PACKED ARP_PACKET, *PARP_PACKET;
 
+#pragma pack(pop)
+
 //
 // ----------------------------------------------- Internal Function Prototypes
 //

+ 4 - 0
drivers/net/netcore/ipv4/dhcp.c

@@ -234,6 +234,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _DHCP_PACKET {
     UCHAR OperationCode;
     UCHAR HardwareType;
@@ -252,6 +254,8 @@ typedef struct _DHCP_PACKET {
     ULONG MagicCookie;
 } PACKED DHCP_PACKET, *PDHCP_PACKET;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
drivers/net/netcore/ipv4/igmp.c

@@ -217,6 +217,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _IGMP_HEADER {
     UCHAR Type;
     UCHAR MaxResponseCode;
@@ -322,6 +324,8 @@ typedef struct _IGMP_REPORT_V3 {
     USHORT GroupRecordCount;
 } PACKED IGMP_REPORT_V3, *PIGMP_REPORT_V3;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
drivers/net/netcore/ipv6/mld.c

@@ -206,6 +206,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _MLD_MESSAGE {
     ICMP6_HEADER Header;
     USHORT MaxResponseCode;
@@ -290,6 +292,8 @@ typedef struct _MLD2_ADDRESS_RECORD {
     ULONG MulticastAddress[IP6_ADDRESS_SIZE / sizeof(ULONG)];
 } PACKED MLD2_ADDRESS_RECORD, *PMLD2_ADDRESS_RECORD;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
drivers/net/netcore/ipv6/ndp.c

@@ -137,6 +137,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _NDP_ROUTER_SOLICITATION {
     ICMP6_HEADER Header;
     ULONG Reserved;
@@ -367,6 +369,8 @@ typedef struct _NDP_OPTION_MTU {
     ULONG MaxTransmissionUnit;
 } PACKED NDP_OPTION_MTU, *PNDP_OPTION_MTU;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
drivers/net/netcore/tcp.h

@@ -811,6 +811,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _TCP_HEADER {
     USHORT SourcePort;
     USHORT DestinationPort;
@@ -823,6 +825,8 @@ typedef struct _TCP_HEADER {
     USHORT NonUrgentOffset;
 } PACKED TCP_HEADER, *PTCP_HEADER;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
drivers/net/netcore/udp.c

@@ -163,6 +163,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _UDP_HEADER {
     USHORT SourcePort;
     USHORT DestinationPort;
@@ -170,6 +172,8 @@ typedef struct _UDP_HEADER {
     USHORT Checksum;
 } PACKED UDP_HEADER, *PUDP_HEADER;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
drivers/net/wireless/rtlw81xx/rtlw81.h

@@ -1610,6 +1610,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _RTLW81_FIRMWARE_HEADER {
     USHORT Signature;
     UCHAR Category;
@@ -1864,6 +1866,8 @@ typedef struct _RTLW81_MAC_ID_CONFIG_COMMAND {
     UCHAR MacId;
 } PACKED RTLW81_MAC_ID_CONFIG_COMMAND, *PRTLW81_MAC_ID_CONFIG_COMMAND;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
drivers/pci/msi.c

@@ -106,12 +106,16 @@ Environment:
 // ------------------------------------------------------ Data Type Definitions
 //
 
+#pragma pack(push, 1)
+
 typedef struct _PCI_MSI_X_TABLE_ENTRY {
     ULONGLONG Address;
     ULONG Data;
     ULONG Control;
 } PACKED PCI_MSI_X_TABLE_ENTRY, *PPCI_MSI_X_TABLE_ENTRY;
 
+#pragma pack(pop)
+
 //
 // ----------------------------------------------- Internal Function Prototypes
 //

+ 12 - 0
drivers/plat/goec/goecprot.h

@@ -284,6 +284,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _GOEC_COMMAND_HEADER {
     UCHAR Version;
     UCHAR Checksum;
@@ -325,6 +327,8 @@ typedef struct _GOEC_RESPONSE_HEADER {
     USHORT Reserved;
 } PACKED GOEC_RESPONSE_HEADER, *PGOEC_RESPONSE_HEADER;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:
@@ -377,6 +381,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _GOEC_PARAMS_HELLO {
     ULONG InData;
 } PACKED GOEC_PARAMS_HELLO, *PGOEC_PARAMS_HELLO;
@@ -397,6 +403,8 @@ typedef struct _GOEC_RESPONSE_HELLO {
     ULONG OutData;
 } PACKED GOEC_RESPONSE_HELLO, *PGOEC_RESPONSE_HELLO;
 
+#pragma pack(pop)
+
 typedef enum _GOEC_CURRENT_IMAGE {
     GoecImageUnknown = 0,
     GoecImageReadOnly = 1,
@@ -421,6 +429,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _GOEC_RESPONSE_GET_VERSION {
     CHAR VersionStringRo[32];
     CHAR VersionStringRw[32];
@@ -544,6 +554,8 @@ typedef struct _GOEC_RESPONSE_VBNV_CONTEXT {
     GOEC_NVRAM NvRam;
 } PACKED GOEC_RESPONSE_VBNV_CONTEXT, *PGOEC_RESPONSE_VBNV_CONTEXT;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
drivers/sd/rk32xx/sdrk32.h

@@ -133,6 +133,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _SD_RK32_VENDOR_RESOURCE {
     UCHAR SubType;
     UUID Uuid;
@@ -144,6 +146,8 @@ typedef struct _SD_RK32_VENDOR_RESOURCE {
     ULONG ControlOffset;
 } PACKED SD_RK32_VENDOR_RESOURCE, *PSD_RK32_VENDOR_RESOURCE;
 
+#pragma pack(pop)
+
 typedef struct _SD_RK32_CONTEXT SD_RK32_CONTEXT, *PSD_RK32_CONTEXT;
 
 /*++

+ 4 - 0
drivers/sound/broadcom/bc27pwma/pwma.c

@@ -178,12 +178,16 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _BCM27_PWMA_DEVICE {
     SOUND_DEVICE SoundDevice;
     ULONG SampleRates[BCM27_PWMA_SAMPLE_RATE_COUNT];
     SOUND_DEVICE_ROUTE Routes[BCM27_PWMA_ROUTE_COUNT];
 } PACKED BCM27_PWMA_DEVICE, *PBCM27_PWMA_DEVICE;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
drivers/sound/intel/hda/hdahw.h

@@ -1042,6 +1042,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _HDA_BUFFER_DESCRIPTOR_LIST_ENTRY {
     ULONGLONG Address;
     ULONG Length;
@@ -1085,6 +1087,8 @@ typedef struct _HDA_RESPONSE_ENTRY {
     ULONG ResponseExtended;
 } PACKED HDA_RESPONSE_ENTRY, *PHDA_RESPONSE_ENTRY;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
drivers/usb/ehci/ehcihw.h

@@ -282,6 +282,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _EHCI_TRANSFER_DESCRIPTOR {
     ULONG NextTransfer;
     ULONG AlternateNextTransfer;
@@ -373,6 +375,8 @@ typedef struct _EHCI_PERIODIC_SCHEDULE {
     ULONG FrameLink[EHCI_DEFAULT_FRAME_LIST_ENTRY_COUNT];
 } PACKED EHCI_PERIODIC_SCHEDULE, *PEHCI_PERIODIC_SCHEDULE;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
drivers/usb/uhci/uhcihw.h

@@ -209,6 +209,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _UHCI_TRANSFER_DESCRIPTOR {
     ULONG LinkPointer;
     ULONG Status;
@@ -258,6 +260,8 @@ typedef struct _UHCI_SCHEDULE {
     ULONG Frame[UHCI_FRAME_LIST_ENTRY_COUNT];
 } PACKED UHCI_SCHEDULE, *PUHCI_SCHEDULE;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
drivers/usb/usbkbd/usbkbd.h

@@ -98,12 +98,16 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _USB_KEYBOARD_REPORT {
     UCHAR ModifierKeys;
     UCHAR Reserved;
     UCHAR Keycode[USB_KEYBOARD_REPORT_KEY_COUNT];
 } PACKED USB_KEYBOARD_REPORT, *PUSB_KEYBOARD_REPORT;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
drivers/usb/usbmass/usbmass.c

@@ -421,6 +421,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _SCSI_COMMAND_BLOCK {
     ULONG Signature;
     ULONG Tag;
@@ -572,6 +574,8 @@ typedef struct _SCSI_CAPACITY {
     ULONG BlockLength;
 } PACKED SCSI_CAPACITY, *PSCSI_CAPACITY;
 
+#pragma pack(pop)
+
 //
 // ----------------------------------------------- Internal Function Prototypes
 //

+ 12 - 0
include/minoca/debug/dbgproto.h

@@ -137,6 +137,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _DEBUG_PACKET_HEADER {
     USHORT Magic;
     USHORT Command;
@@ -169,6 +171,8 @@ typedef struct _DEBUG_PACKET {
     UCHAR Payload[DEBUG_PAYLOAD_SIZE];
 } PACKED DEBUG_PACKET, *PDEBUG_PACKET;
 
+#pragma pack(pop)
+
 typedef enum _DEBUGGER_COMMAND {
     DbgInvalidCommand,
     DbgConnectionRequest,
@@ -240,6 +244,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _CONNECTION_REQUEST {
     ULONG ProtocolMajorVersion;
     ULONG ProtocolRevision;
@@ -449,11 +455,15 @@ typedef union _REGISTERS_UNION {
     ARM_GENERAL_REGISTERS Arm;
 } PACKED REGISTERS_UNION, *PREGISTERS_UNION;
 
+#pragma pack(pop)
+
 typedef struct _X86_TABLE_REGISTER {
     ULONG Limit;
     ULONG Base;
 } X86_TABLE_REGISTER, *PX86_TABLE_REGISTER;
 
+#pragma pack(push, 1)
+
 typedef struct _X86_SPECIAL_REGISTERS {
     ULONGLONG Cr0;
     ULONGLONG Cr2;
@@ -856,6 +866,8 @@ typedef struct _DEBUG_REBOOT_REQUEST {
     ULONG ResetType;
 } PACKED DEBUG_REBOOT_REQUEST, *PDEBUG_REBOOT_REQUEST;
 
+#pragma pack(pop)
+
 //
 // ----------------------------------------------- Internal Function Prototypes
 //

+ 8 - 0
include/minoca/debug/spproto.h

@@ -142,6 +142,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _PROFILER_NOTIFICATION_HEADER {
     PROFILER_DATA_TYPE Type;
     ULONG Processor;
@@ -169,6 +171,8 @@ typedef struct _PROFILER_NOTIFICATION {
     BYTE Data[PROFILER_NOTIFICATION_SIZE];
 } PACKED PROFILER_NOTIFICATION, *PPROFILER_NOTIFICATION;
 
+#pragma pack(pop)
+
 /*++
 
 Enumeration Descriptoin:
@@ -227,6 +231,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _PROFILER_MEMORY_POOL {
     ULONG Magic;
     ULONG TagCount;
@@ -407,6 +413,8 @@ typedef struct _PROFILER_THREAD_NEW_THREAD {
     CHAR Name[ANYSIZE_ARRAY];
 } PACKED PROFILER_THREAD_NEW_THREAD, *PPROFILER_THREAD_NEW_THREAD;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
include/minoca/dma/dmab2709.h

@@ -270,6 +270,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _DMA_BCM2709_CONTROL_BLOCK {
     ULONG TransferInformation;
     ULONG SourceAddress;
@@ -280,6 +282,8 @@ typedef struct _DMA_BCM2709_CONTROL_BLOCK {
     ULONG Reserved[2];
 } PACKED DMA_BCM2709_CONTROL_BLOCK, *PDMA_BCM2709_CONTROL_BLOCK;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
include/minoca/dma/edma3.h

@@ -238,6 +238,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _EDMA_PARAM {
     ULONG Options;
     ULONG Source;
@@ -254,6 +256,8 @@ typedef struct _EDMA_PARAM {
     USHORT Reserved;
 } PACKED EDMA_PARAM, *PEDMA_PARAM;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
include/minoca/fw/acpitabs.h

@@ -807,6 +807,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _GENERIC_ADDRESS {
     UCHAR AddressSpaceId;
     UCHAR RegisterBitWidth;
@@ -1664,6 +1666,8 @@ typedef struct _GTDT {
     ULONG NonSecurePl2Flags;
 } PACKED GTDT, *PGTDT;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
include/minoca/fw/smbios.h

@@ -633,6 +633,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _SMBIOS_ENTRY_POINT {
     ULONG AnchorString;
     UCHAR Checksum;
@@ -1473,6 +1475,8 @@ typedef struct _SMBIOS_BOOT_INFORMATION {
     UCHAR BootStatus[ANYSIZE_ARRAY];
 } PACKED SMBIOS_BOOT_INFORMATION, *PSMBIOS_BOOT_INFORMATION;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 12 - 0
include/minoca/kernel/arm.h

@@ -659,11 +659,15 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 struct _FPU_CONTEXT {
     ULONGLONG Registers[32];
     ULONG Fpscr;
 } PACKED ALIGNED16;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:
@@ -720,12 +724,16 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _SIGNAL_CONTEXT_ARM {
     SIGNAL_CONTEXT Common;
     TRAP_FRAME TrapFrame;
     FPU_CONTEXT FpuContext;
 } PACKED SIGNAL_CONTEXT_ARM, *PSIGNAL_CONTEXT_ARM;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:
@@ -1079,6 +1087,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _ARM_CPUID {
     ULONG ProcessorFeatures[2];
     ULONG DebugFeatures;
@@ -1087,6 +1097,8 @@ typedef struct _ARM_CPUID {
     ULONG IsaFeatures[6];
 } PACKED ARM_CPUID, *PARM_CPUID;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
include/minoca/kernel/bootload.h

@@ -362,6 +362,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 struct _PROCESSOR_START_BLOCK {
     PVOID StackBase;
     ULONG StackSize;
@@ -372,6 +374,8 @@ struct _PROCESSOR_START_BLOCK {
     PVOID SwapPage;
 } PACKED;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
include/minoca/kernel/crashdmp.h

@@ -88,6 +88,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _CRASH_DUMP_HEADER {
     ULONG Signature;
     CRASH_DUMP_TYPE Type;
@@ -109,6 +111,8 @@ typedef struct _CRASH_DUMP_HEADER {
     ULONGLONG Parameter4;
 } PACKED CRASH_DUMP_HEADER, *PCRASH_DUMP_HEADER;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------- Function Prototypes
 //

+ 4 - 0
include/minoca/kernel/io.h

@@ -1544,6 +1544,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _DIRECTORY_ENTRY {
     FILE_ID FileId;
     ULONGLONG NextOffset;
@@ -1551,6 +1553,8 @@ typedef struct _DIRECTORY_ENTRY {
     UCHAR Type;
 } PACKED DIRECTORY_ENTRY, *PDIRECTORY_ENTRY;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
include/minoca/kernel/x64.h

@@ -159,6 +159,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _PROCESSOR_GATE {
     USHORT LowOffset;
     USHORT Selector;
@@ -383,6 +385,8 @@ struct _FPU_CONTEXT {
     UCHAR Padding[96];
 } PACKED ALIGNED64;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
include/minoca/kernel/x86.h

@@ -68,6 +68,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _PROCESSOR_GATE {
     USHORT LowOffset;
     USHORT Selector;
@@ -511,6 +513,8 @@ struct _PROCESSOR_CONTEXT {
     TABLE_REGISTER Gdt;
 } PACKED;
 
+#pragma pack(pop)
+
 typedef
 VOID
 (*PAR_SAVE_RESTORE_FPU_CONTEXT) (

+ 4 - 0
include/minoca/lib/fat/fatlib.h

@@ -288,6 +288,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _FAT_EXTENDED_BIOS_PARAMETERS {
     BYTE PhysicalDriveNumber;
     BYTE CurrentHead;
@@ -595,6 +597,8 @@ typedef struct _FAT_LONG_DIRECTORY_ENTRY {
     USHORT Name3[FAT_LONG_DIRECTORY_ENTRY_NAME3_SIZE];
 } PACKED FAT_LONG_DIRECTORY_ENTRY, *PFAT_LONG_DIRECTORY_ENTRY;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------- Function Prototypes
 //

+ 4 - 0
include/minoca/lib/tzfmt.h

@@ -133,6 +133,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _TIME_ZONE_HEADER {
     ULONG Magic;
     ULONG RuleOffset;
@@ -303,6 +305,8 @@ typedef struct _TIME_ZONE_LEAP_SECOND {
     CHAR Padding;
 } PACKED TIME_ZONE_LEAP_SECOND, *PTIME_ZONE_LEAP_SECOND;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
include/minoca/net/ip4.h

@@ -174,6 +174,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _IP4_HEADER {
     UCHAR VersionAndHeaderLength;
     UCHAR Type;
@@ -207,6 +209,8 @@ typedef struct _IP4_OPTION {
     UCHAR Length;
 } PACKED IP4_OPTION, *PIP4_OPTION;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
include/minoca/net/ip6.h

@@ -216,6 +216,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _IP6_HEADER {
     ULONG VersionClassFlow;
     USHORT PayloadLength;
@@ -266,6 +268,8 @@ typedef struct _IP6_OPTION {
     UCHAR Length;
 } PACKED IP6_OPTION, *PIP6_OPTION;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
include/minoca/net/net80211.h

@@ -666,6 +666,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _NET80211_FRAME_HEADER {
     USHORT FrameControl;
     USHORT DurationId;
@@ -831,6 +833,8 @@ typedef struct _NET80211_CCM_NONCE {
     UCHAR PacketNumber[NET80211_CCMP_PACKET_NUMBER_SIZE];
 } PACKED NET80211_CCM_NONCE, *PNET80211_CCM_NONCE;
 
+#pragma pack(pop)
+
 typedef enum _NET80211_STATE {
     Net80211StateInvalid,
     Net80211StateUninitialized,

+ 4 - 0
include/minoca/net/net8022.h

@@ -68,6 +68,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _NET8022_LLC_HEADER {
     UCHAR DestinationSapAddress;
     UCHAR SourceSapAddress;
@@ -94,6 +96,8 @@ typedef struct _NET8022_SNAP_EXTENSION {
     USHORT EthernetType;
 } PACKED NET8022_SNAP_EXTENSION, *PNET8022_SNAP_EXTENSION;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
include/minoca/net/netlink.h

@@ -356,6 +356,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _NETLINK_HEADER {
     ULONG Length;
     USHORT Type;
@@ -425,6 +427,8 @@ typedef struct _NETLINK_GENERIC_HEADER {
     USHORT Reserved;
 } PACKED NETLINK_GENERIC_HEADER, *PNETLINK_GENERIC_HEADER;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
include/minoca/sd/sd.h

@@ -762,6 +762,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _SD_CARD_IDENTIFICATION {
     UCHAR Crc7;
     UCHAR ManufacturingDate[2];
@@ -793,6 +795,8 @@ typedef struct _SD_ADMA2_DESCRIPTOR {
     ULONG Address;
 } PACKED SD_ADMA2_DESCRIPTOR, *PSD_ADMA2_DESCRIPTOR;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
include/minoca/sd/sddwc.h

@@ -400,6 +400,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _SD_DWC_DMA_DESCRIPTOR {
     ULONG Control;
     ULONG Size;
@@ -407,6 +409,8 @@ typedef struct _SD_DWC_DMA_DESCRIPTOR {
     ULONG NextDescriptor;
 } PACKED SD_DWC_DMA_DESCRIPTOR, *PSD_DWC_DMA_DESCRIPTOR;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
include/minoca/soc/b2709os.h

@@ -100,6 +100,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _BCM2709_TABLE {
     DESCRIPTION_HEADER Header;
     ULONGLONG ApbClockFrequency;
@@ -176,6 +178,8 @@ typedef struct _BCM2709_CPU_ENTRY {
     ULONGLONG ParkedAddress;
 } PACKED BCM2709_CPU_ENTRY, *PBCM2709_CPU_ENTRY;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
include/minoca/storage/ata.h

@@ -203,6 +203,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _ATA_IDENTIFY_PACKET {
     USHORT Configuration;
     USHORT Reserved1[9];
@@ -254,6 +256,8 @@ typedef struct _ATA_IDENTIFY_PACKET {
     USHORT Checksum;
 } PACKED ATA_IDENTIFY_PACKET, *PATA_IDENTIFY_PACKET;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
include/minoca/uefi/protocol/devpath.h

@@ -489,6 +489,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct {
     UINT8 Type;
     UINT8 SubType;
@@ -1641,6 +1643,8 @@ typedef union {
     UINT8 *Raw;
 } PACKED EFI_DEV_PATH_PTR;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
include/minoca/uefi/spec.h

@@ -3221,6 +3221,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct {
     EFI_BOOT_KEY_DATA KeyData;
     UINT32 BootOptionCrc;
@@ -3228,6 +3230,8 @@ typedef struct {
     //EFI_INPUT_KEY Keys[];
 } PACKED EFI_KEY_OPTION;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
include/minoca/usb/usb.h

@@ -479,6 +479,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _USB_DEVICE_DESCRIPTOR {
     UCHAR Length;
     UCHAR DescriptorType;
@@ -794,6 +796,8 @@ typedef struct _USB_SETUP_PACKET {
     USHORT Length;
 } PACKED USB_SETUP_PACKET, *PUSB_SETUP_PACKET;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
kernel/hl/armv7/am335.h

@@ -72,6 +72,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _AM335X_TABLE {
     DESCRIPTION_HEADER Header;
     ULONGLONG TimerBase[AM335X_TIMER_COUNT];
@@ -81,6 +83,8 @@ typedef struct _AM335X_TABLE {
     ULONGLONG PrcmBase;
 } PACKED AM335X_TABLE, *PAM335X_TABLE;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
kernel/hl/armv7/integcp.h

@@ -108,6 +108,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _INTEGRATORCP_TABLE {
     DESCRIPTION_HEADER Header;
     ULONGLONG Pl110PhysicalAddress;
@@ -119,6 +121,8 @@ typedef struct _INTEGRATORCP_TABLE {
     ULONG DebugUartClockFrequency;
 } PACKED INTEGRATORCP_TABLE, *PINTEGRATORCP_TABLE;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
kernel/hl/armv7/omap3.h

@@ -123,6 +123,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _OMAP3_TABLE {
     DESCRIPTION_HEADER Header;
     ULONGLONG InterruptControllerPhysicalAddress;
@@ -133,6 +135,8 @@ typedef struct _OMAP3_TABLE {
     ULONGLONG DebugUartPhysicalAddress;
 } PACKED OMAP3_TABLE, *POMAP3_TABLE;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
kernel/hl/armv7/omap4.h

@@ -133,6 +133,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _OMAP4_TABLE {
     DESCRIPTION_HEADER Header;
     ULONGLONG TimerPhysicalAddress[OMAP4_TIMER_COUNT];
@@ -144,6 +146,8 @@ typedef struct _OMAP4_TABLE {
     ULONGLONG Pl310RegistersBasePhysicalAddress;
 } PACKED OMAP4_TABLE, *POMAP4_TABLE;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
kernel/hl/armv7/realview.h

@@ -81,6 +81,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _REALVIEW_TABLE {
     DESCRIPTION_HEADER Header;
     ULONGLONG Pl110PhysicalAddress;
@@ -91,6 +93,8 @@ typedef struct _REALVIEW_TABLE {
     ULONG DebugUartClockFrequency;
 } PACKED REALVIEW_TABLE, *PREALVIEW_TABLE;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
kernel/hl/armv7/rk32xx.h

@@ -73,6 +73,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _RK32XX_TABLE {
     DESCRIPTION_HEADER Header;
     ULONGLONG TimerBase[RK32_TIMER_COUNT];
@@ -81,6 +83,8 @@ typedef struct _RK32XX_TABLE {
     ULONG TimerEnabledMask;
 } PACKED RK32XX_TABLE, *PRK32XX_TABLE;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
lib/bconflib/bconfp.h

@@ -98,6 +98,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _BOOT_CONFIGURATION_HEADER {
     ULONG Magic;
     ULONG Version;
@@ -172,6 +174,8 @@ typedef struct _BOOT_CONFIGURATION_ENTRY {
     ULONG DebugDevice;
 } PACKED BOOT_CONFIGURATION_ENTRY, *PBOOT_CONFIGURATION_ENTRY;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
lib/im/elf.h

@@ -378,6 +378,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _ELF32_HEADER {
     UCHAR Identification[ELF32_IDENTIFICATION_LENGTH];
     ELF32_HALF ImageType;
@@ -874,6 +876,8 @@ typedef struct _ELF64_DYNAMIC_ENTRY {
     ELF64_XWORD Value;
 } PACKED ELF64_DYNAMIC_ENTRY, *PELF64_DYNAMIC_ENTRY;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 8 - 0
lib/im/pe.h

@@ -105,6 +105,8 @@ Author:
 // PE Image header definitions.
 //
 
+#pragma pack(push, 1)
+
 typedef struct _IMAGE_SECTION_HEADER {
     BYTE Name[IMAGE_SIZEOF_SHORT_NAME];
     union {
@@ -209,6 +211,8 @@ typedef struct _PE_RELOCATION_BLOCK {
     ULONG BlockSizeInBytes;
 } PACKED PE_RELOCATION_BLOCK, *PPE_RELOCATION_BLOCK;
 
+#pragma pack(pop)
+
 typedef USHORT PE_RELOCATION, *PPE_RELOCATION;
 
 typedef enum _PE_RELOCATION_TYPE {
@@ -222,6 +226,8 @@ typedef enum _PE_RELOCATION_TYPE {
     PeRelocation64 = 10
 } PE_RELOCATION_TYPE, *PPE_RELOCATION_TYPE;
 
+#pragma pack(push, 1)
+
 typedef struct _PE_EXPORT_DIRECTORY_TABLE {
     ULONG ExportFlags;
     ULONG Timestamp;
@@ -267,6 +273,8 @@ typedef struct _COFF_SYMBOL {
     UCHAR AuxCount;
 } PACKED COFF_SYMBOL, *PCOFF_SYMBOL;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------- Function Prototypes
 //

+ 4 - 0
lib/partlib/partlibp.h

@@ -173,6 +173,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _PARTITION_TABLE_ENTRY {
     UCHAR BootIndicator;
     UCHAR StartingHead;
@@ -286,6 +288,8 @@ typedef struct _GPT_PARTITION_ENTRY {
     USHORT Name[36];
 } PACKED GPT_PARTITION_ENTRY, *PGPT_PARTITION_ENTRY;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 11 - 0
uefi/core/partfmt.h

@@ -157,6 +157,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _EFI_PARTITION_TABLE_HEADER {
     EFI_TABLE_HEADER Header;
     EFI_LBA MyLba;
@@ -281,6 +283,7 @@ typedef struct _EFI_CDROM_PRIMARY_VOLUME_DESCRIPTOR {
     UINT32 VolumeSize[2];
 } PACKED EFI_CDROM_PRIMARY_VOLUME_DESCRIPTOR,
                                          *PEFI_CDROM_PRIMARY_VOLUME_DESCRIPTOR;
+#pragma pack(pop)
 
 /*++
 
@@ -323,6 +326,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _EFI_ELTORITO_CATALOG_DATA {
     UINT8 Indicator;
     UINT8 PlatformId;
@@ -391,6 +396,8 @@ typedef struct _EFI_ELTORITO_SECTION {
     CHAR8 Id[28];
 } PACKED EFI_ELTORITO_SECTION, *PEFI_ELTORITO_SECTION;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:
@@ -449,6 +456,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _EFI_MBR_PARTITION_RECORD {
     UINT8 BootIndicator;
     UINT8 StartHead;
@@ -492,6 +501,8 @@ typedef struct _EFI_MASTER_BOOT_RECORD {
     UINT16 Signature;
 } PACKED EFI_MASTER_BOOT_RECORD, *PEFI_MASTER_BOOT_RECORD;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
uefi/core/ramdisk.c

@@ -124,11 +124,15 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _EFI_RAM_DISK_DEVICE_PATH {
     EFI_RAM_DISK_DEVICE_PATH_NODE Disk;
     EFI_DEVICE_PATH_PROTOCOL End;
 } PACKED EFI_RAM_DISK_DEVICE_PATH, *PEFI_RAM_DISK_DEVICE_PATH;
 
+#pragma pack(pop)
+
 //
 // ----------------------------------------------- Internal Function Prototypes
 //

+ 4 - 0
uefi/dev/bcm2709/sd.c

@@ -186,11 +186,15 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _EFI_SD_BCM2709_DEVICE_PATH {
     EFI_SD_BCM2709_BLOCK_IO_DEVICE_PATH Disk;
     EFI_DEVICE_PATH_PROTOCOL End;
 } PACKED EFI_SD_BCM2709_DEVICE_PATH, *PEFI_SD_BCM2709_DEVICE_PATH;
 
+#pragma pack(pop)
+
 //
 // ----------------------------------------------- Internal Function Prototypes
 //

+ 4 - 0
uefi/dev/bcm2709/serial.c

@@ -125,11 +125,15 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _EFI_BCM2709_SERIAL_IO_DEVICE_PATH {
     EFI_BCM2709_SERIAL_IO_DEVICE_PATH_NODE Device;
     EFI_DEVICE_PATH_PROTOCOL End;
 } PACKED EFI_BCM2709_SERIAL_IO_DEVICE_PATH, *PEFI_BCM2709_SERIAL_IO_DEVICE_PATH;
 
+#pragma pack(pop)
+
 //
 // ----------------------------------------------- Internal Function Prototypes
 //

+ 4 - 0
uefi/include/dev/sd.h

@@ -424,6 +424,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _SD_CARD_IDENTIFICATION {
     UINT8 Crc7;
     UINT8 ManufacturingDate[2];
@@ -434,6 +436,8 @@ typedef struct _SD_CARD_IDENTIFICATION {
     UINT8 ManufacturerId;
 } PACKED SD_CARD_IDENTIFICATION, *PSD_CARD_IDENTIFICATION;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
uefi/include/dev/tirom.h

@@ -120,6 +120,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _AM335_BOOT_DATA {
     UINT32 Reserved;
     UINT32 MemoryDeviceDescriptor;
@@ -128,6 +130,8 @@ typedef struct _AM335_BOOT_DATA {
     UINT8 Reserved2;
 } PACKED AM335_BOOT_DATA, *PAM335_BOOT_DATA;
 
+#pragma pack(pop)
+
 typedef
 INT32
 (*PTI_ROM_PER_CALLBACK) (

+ 4 - 0
uefi/include/efiimg.h

@@ -117,6 +117,8 @@ Author:
 typedef UINT8 EFI_FV_FILETYPE, *PEFI_FV_FILETYPE;
 typedef UINT8 EFI_SECTION_TYPE, *PEFI_SECTION_TYPE;
 
+#pragma pack(push, 1)
+
 typedef union _EFI_COMMON_SECTION_HEADER {
     struct {
         UINT8 Size[3];
@@ -200,6 +202,8 @@ typedef struct _EFI_RAW_SECTION {
     EFI_COMMON_SECTION_HEADER CommonHeader;
 } PACKED EFI_RAW_SECTION, *PEFI_RAW_SECTION;
 
+#pragma pack(pop)
+
 typedef union _EFI_FILE_SECTION_POINTER {
     EFI_COMMON_SECTION_HEADER *CommonHeader;
     EFI_COMPRESSION_SECTION *CompressionSection;

+ 4 - 0
uefi/include/fwvol.h

@@ -149,6 +149,8 @@ Author:
 
 typedef UINT32 EFI_FVB_ATTRIBUTES, *PEFI_FVB_ATTRIBUTES;
 
+#pragma pack(push, 1)
+
 typedef struct _EFI_FIRMWARE_VOLUME_EXT_ENTRY {
     UINT16 ExtEntrySize;
     UINT16 ExtEntryType;
@@ -192,6 +194,8 @@ typedef struct {
     EFI_FV_BLOCK_MAP_ENTRY BlockMap[1];
 } PACKED EFI_FIRMWARE_VOLUME_HEADER;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
uefi/include/uboot.h

@@ -191,6 +191,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _UBOOT_HEADER {
     UINT32 Magic;
     UINT32 HeaderCrc32;
@@ -324,6 +326,8 @@ typedef struct _UBOOT_FIT_PROPERTY {
     // UINT8 Data[Size];
 } PACKED UBOOT_FIT_PROPERTY, *PUBOOT_FIT_PROPERTY;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
uefi/plat/beagbone/sd.c

@@ -199,11 +199,15 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _EFI_SD_AM335_DEVICE_PATH {
     EFI_SD_AM335_BLOCK_IO_DEVICE_PATH Disk;
     EFI_DEVICE_PATH_PROTOCOL End;
 } PACKED EFI_SD_AM335_DEVICE_PATH, *PEFI_SD_AM335_DEVICE_PATH;
 
+#pragma pack(pop)
+
 //
 // ----------------------------------------------- Internal Function Prototypes
 //

+ 4 - 0
uefi/plat/beagbone/serial.c

@@ -125,11 +125,15 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _EFI_BBONE_SERIAL_IO_DEVICE_PATH {
     EFI_BBONE_SERIAL_IO_DEVICE_PATH_NODE Device;
     EFI_DEVICE_PATH_PROTOCOL End;
 } PACKED EFI_BBONE_SERIAL_IO_DEVICE_PATH, *PEFI_BBONE_SERIAL_IO_DEVICE_PATH;
 
+#pragma pack(pop)
+
 //
 // ----------------------------------------------- Internal Function Prototypes
 //

+ 4 - 0
uefi/plat/beagbone/smbios.c

@@ -90,6 +90,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _EFI_BBONE_EEPROM {
     UINT32 Header;
     UINT8 BoardName[BBONE_BLACK_BOARD_NAME_SIZE];
@@ -99,6 +101,8 @@ typedef struct _EFI_BBONE_EEPROM {
     UINT8 Reserved[BBONE_BLACK_RESERVED_SIZE];
 } PACKED EFI_BBONE_EEPROM, *PEFI_BBONE_EEPROM;
 
+#pragma pack(pop)
+
 //
 // ----------------------------------------------- Internal Function Prototypes
 //

+ 4 - 0
uefi/plat/bios/biosfw.h

@@ -133,6 +133,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _INT13_DISK_ACCESS_PACKET {
     UINT8 PacketSize;
     UINT8 Reserved;
@@ -184,6 +186,8 @@ typedef struct _INT13_EXTENDED_DRIVE_PARAMETERS {
     UINT32 EnhancedDiskInformation;
 } PACKED INT13_EXTENDED_DRIVE_PARAMETERS, *PINT13_EXTENDED_DRIVE_PARAMETERS;
 
+#pragma pack(pop)
+
 //
 // -------------------------------------------------------------------- Globals
 //

+ 4 - 0
uefi/plat/bios/disk.c

@@ -144,11 +144,15 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _EFI_PCAT_DISK_DEVICE_PATH {
     EFI_BIOS_BLOCK_IO_DEVICE_PATH Disk;
     EFI_DEVICE_PATH_PROTOCOL End;
 } PACKED EFI_PCAT_DISK_DEVICE_PATH, *PEFI_PCAT_DISK_DEVICE_PATH;
 
+#pragma pack(pop)
+
 //
 // ----------------------------------------------- Internal Function Prototypes
 //

+ 4 - 0
uefi/plat/bios/video.c

@@ -163,6 +163,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _VESA_INFORMATION {
     UINT32 Signature;
     UINT16 VesaVersion;
@@ -322,6 +324,8 @@ typedef struct _VESA_MODE_INFORMATION {
     //UCHAR Reserved2[206];
 } PACKED VESA_MODE_INFORMATION, *PVESA_MODE_INFORMATION;
 
+#pragma pack(pop)
+
 /*++
 
 Structure Description:

+ 4 - 0
uefi/plat/integcp/serial.c

@@ -125,12 +125,16 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _EFI_INTEGRATOR_SERIAL_IO_DEVICE_PATH {
     EFI_INTEGRATOR_SERIAL_IO_DEVICE_PATH_NODE Device;
     EFI_DEVICE_PATH_PROTOCOL End;
 } PACKED EFI_INTEGRATOR_SERIAL_IO_DEVICE_PATH,
     *PEFI_INTEGRATOR_SERIAL_IO_DEVICE_PATH;
 
+#pragma pack(pop)
+
 //
 // ----------------------------------------------- Internal Function Prototypes
 //

+ 4 - 0
uefi/plat/panda/init/fatboot.c

@@ -124,6 +124,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _PARTITION_TABLE_ENTRY {
     UCHAR BootIndicator;
     UCHAR StartingHead;
@@ -137,6 +139,8 @@ typedef struct _PARTITION_TABLE_ENTRY {
     ULONG SectorCount;
 } PACKED PARTITION_TABLE_ENTRY, *PPARTITION_TABLE_ENTRY;
 
+#pragma pack(pop)
+
 //
 // ----------------------------------------------- Internal Function Prototypes
 //

+ 4 - 0
uefi/plat/panda/sd.c

@@ -197,11 +197,15 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _EFI_SD_OMAP4_DEVICE_PATH {
     EFI_SD_OMAP4_BLOCK_IO_DEVICE_PATH Disk;
     EFI_DEVICE_PATH_PROTOCOL End;
 } PACKED EFI_SD_OMAP4_DEVICE_PATH, *PEFI_SD_OMAP4_DEVICE_PATH;
 
+#pragma pack(pop)
+
 //
 // ----------------------------------------------- Internal Function Prototypes
 //

+ 4 - 0
uefi/plat/panda/serial.c

@@ -123,11 +123,15 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _EFI_PANDA_SERIAL_IO_DEVICE_PATH {
     EFI_PANDA_SERIAL_IO_DEVICE_PATH_NODE Device;
     EFI_DEVICE_PATH_PROTOCOL End;
 } PACKED EFI_PANDA_SERIAL_IO_DEVICE_PATH, *PEFI_PANDA_SERIAL_IO_DEVICE_PATH;
 
+#pragma pack(pop)
+
 //
 // ----------------------------------------------- Internal Function Prototypes
 //

+ 4 - 0
uefi/plat/veyron/fwbuild/fwbuild.c

@@ -86,6 +86,8 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _VERIFIED_BOOT_SIGNATURE {
     ULONGLONG SignatureOffset;
     ULONGLONG SignatureSize;
@@ -135,6 +137,8 @@ typedef struct _VERIFIED_BOOT_PREAMBLE_HEADER {
     VERIFIED_BOOT_SIGNATURE ImageSignature;
 } PACKED VERIFIED_BOOT_PREAMBLE_HEADER, *PVERIFIED_BOOT_PREAMBLE_HEADER;
 
+#pragma pack(pop)
+
 //
 // ----------------------------------------------- Internal Function Prototypes
 //

+ 4 - 0
uefi/plat/veyron/sd.c

@@ -169,11 +169,15 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _EFI_SD_RK32_DEVICE_PATH {
     EFI_SD_RK32_BLOCK_IO_DEVICE_PATH Disk;
     EFI_DEVICE_PATH_PROTOCOL End;
 } PACKED EFI_SD_RK32_DEVICE_PATH, *PEFI_SD_RK32_DEVICE_PATH;
 
+#pragma pack(pop)
+
 //
 // ----------------------------------------------- Internal Function Prototypes
 //

+ 4 - 0
uefi/plat/veyron/serial.c

@@ -124,11 +124,15 @@ Members:
 
 --*/
 
+#pragma pack(push, 1)
+
 typedef struct _EFI_VEYRON_SERIAL_IO_DEVICE_PATH {
     EFI_VEYRON_SERIAL_IO_DEVICE_PATH_NODE Device;
     EFI_DEVICE_PATH_PROTOCOL End;
 } PACKED EFI_VEYRON_SERIAL_IO_DEVICE_PATH, *PEFI_VEYRON_SERIAL_IO_DEVICE_PATH;
 
+#pragma pack(pop)
+
 //
 // ----------------------------------------------- Internal Function Prototypes
 //