Skip to content

Commit

Permalink
x86: microcode_amd: use 'packed' attribute for structs
Browse files Browse the repository at this point in the history
Impact: cleanup

Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
  • Loading branch information
Andreas Herrmann authored and Ingo Molnar committed Dec 16, 2008
1 parent 9841530 commit 5549b94
Showing 1 changed file with 23 additions and 22 deletions.
45 changes: 23 additions & 22 deletions arch/x86/kernel/microcode_amd.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,28 +47,29 @@ MODULE_LICENSE("GPL v2");
#define UCODE_UCODE_TYPE 0x00000001

struct equiv_cpu_entry {
unsigned int installed_cpu;
unsigned int fixed_errata_mask;
unsigned int fixed_errata_compare;
unsigned int equiv_cpu;
};
u32 installed_cpu;
u32 fixed_errata_mask;
u32 fixed_errata_compare;
u16 equiv_cpu;
u16 res;
} __attribute__((packed));

struct microcode_header_amd {
unsigned int data_code;
unsigned int patch_id;
unsigned char mc_patch_data_id[2];
unsigned char mc_patch_data_len;
unsigned char init_flag;
unsigned int mc_patch_data_checksum;
unsigned int nb_dev_id;
unsigned int sb_dev_id;
u16 processor_rev_id;
unsigned char nb_rev_id;
unsigned char sb_rev_id;
unsigned char bios_api_rev;
unsigned char reserved1[3];
unsigned int match_reg[8];
};
u32 data_code;
u32 patch_id;
u16 mc_patch_data_id;
u8 mc_patch_data_len;
u8 init_flag;
u32 mc_patch_data_checksum;
u32 nb_dev_id;
u32 sb_dev_id;
u16 processor_rev_id;
u8 nb_rev_id;
u8 sb_rev_id;
u8 bios_api_rev;
u8 reserved1[3];
u32 match_reg[8];
} __attribute__((packed));

struct microcode_amd {
struct microcode_header_amd hdr;
Expand Down Expand Up @@ -109,15 +110,15 @@ static int get_matching_microcode(int cpu, void *mc, int rev)
{
struct microcode_header_amd *mc_header = mc;
unsigned int current_cpu_id;
unsigned int equiv_cpu_id = 0x00;
u16 equiv_cpu_id = 0;
unsigned int i = 0;

BUG_ON(equiv_cpu_table == NULL);
current_cpu_id = cpuid_eax(0x00000001);

while (equiv_cpu_table[i].installed_cpu != 0) {
if (current_cpu_id == equiv_cpu_table[i].installed_cpu) {
equiv_cpu_id = equiv_cpu_table[i].equiv_cpu & 0xffff;
equiv_cpu_id = equiv_cpu_table[i].equiv_cpu;
break;
}
i++;
Expand Down

0 comments on commit 5549b94

Please sign in to comment.