--- //depot/user/jmg/arm/src/sys/sys/ata.h 2005/02/25 18:50:07 +++ //depot/user/jmg/arm/src/sys/sys/ata.h 2005/03/11 18:34:24 @@ -155,7 +155,7 @@ #define ATA_SUPPORT_FLUSHCACHE48 0x2000 /*084/087*/ u_int16_t extension; - } support, enabled; + } __packed support, enabled; /*088*/ u_int16_t udmamodes; /* UltraDMA modes */ /*089*/ u_int16_t erase_time; @@ -182,11 +182,11 @@ /*128*/ u_int16_t security_status; u_int16_t reserved129[31]; /*160*/ u_int16_t cfa_powermode1; - u_int16_t reserved161[14]; + u_int16_t reserved161[15]; /*176*/ u_int16_t media_serial[30]; u_int16_t reserved206[49]; /*255*/ u_int16_t integrity; -}; +} __packed; /* ATA transfer modes */ #define ATA_MODE_MASK 0x0f --- //depot/user/jmg/arm/src/sys/dev/ata/ata-all.c 2005/02/25 18:50:07 +++ //depot/user/jmg/arm/src/sys/dev/ata/ata-all.c 2005/03/11 19:16:57 @@ -642,6 +642,7 @@ return error; } +CTASSERT(sizeof(struct ata_params) == 512); /* * device probe functions */