提交 814c0b18 编写于 作者: M Michael S. Tsirkin 提交者: Michael Tokarev

Revert "x86: use typedef for SetupData struct"

This reverts commit eebb38a5.

Fixes: eebb38a5 ("x86: use typedef for SetupData struct")
Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
Tested-by: NNathan Chancellor <nathan@kernel.org>
Tested-by: NDov Murik <dovmurik@linux.ibm.com>
Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
(cherry picked from commit ea96a784)
Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
上级 8faaaf1b
...@@ -657,12 +657,12 @@ DeviceState *ioapic_init_secondary(GSIState *gsi_state) ...@@ -657,12 +657,12 @@ DeviceState *ioapic_init_secondary(GSIState *gsi_state)
return dev; return dev;
} }
typedef struct SetupData { struct setup_data {
uint64_t next; uint64_t next;
uint32_t type; uint32_t type;
uint32_t len; uint32_t len;
uint8_t data[]; uint8_t data[];
} __attribute__((packed)) SetupData; } __attribute__((packed));
/* /*
...@@ -803,7 +803,7 @@ void x86_load_linux(X86MachineState *x86ms, ...@@ -803,7 +803,7 @@ void x86_load_linux(X86MachineState *x86ms,
FILE *f; FILE *f;
char *vmode; char *vmode;
MachineState *machine = MACHINE(x86ms); MachineState *machine = MACHINE(x86ms);
SetupData *setup_data; struct setup_data *setup_data;
const char *kernel_filename = machine->kernel_filename; const char *kernel_filename = machine->kernel_filename;
const char *initrd_filename = machine->initrd_filename; const char *initrd_filename = machine->initrd_filename;
const char *dtb_filename = machine->dtb; const char *dtb_filename = machine->dtb;
...@@ -1086,11 +1086,11 @@ void x86_load_linux(X86MachineState *x86ms, ...@@ -1086,11 +1086,11 @@ void x86_load_linux(X86MachineState *x86ms,
} }
setup_data_offset = QEMU_ALIGN_UP(kernel_size, 16); setup_data_offset = QEMU_ALIGN_UP(kernel_size, 16);
kernel_size = setup_data_offset + sizeof(SetupData) + dtb_size; kernel_size = setup_data_offset + sizeof(struct setup_data) + dtb_size;
kernel = g_realloc(kernel, kernel_size); kernel = g_realloc(kernel, kernel_size);
setup_data = (SetupData *)(kernel + setup_data_offset); setup_data = (struct setup_data *)(kernel + setup_data_offset);
setup_data->next = cpu_to_le64(first_setup_data); setup_data->next = cpu_to_le64(first_setup_data);
first_setup_data = prot_addr + setup_data_offset; first_setup_data = prot_addr + setup_data_offset;
setup_data->type = cpu_to_le32(SETUP_DTB); setup_data->type = cpu_to_le32(SETUP_DTB);
...@@ -1101,9 +1101,9 @@ void x86_load_linux(X86MachineState *x86ms, ...@@ -1101,9 +1101,9 @@ void x86_load_linux(X86MachineState *x86ms,
if (!legacy_no_rng_seed) { if (!legacy_no_rng_seed) {
setup_data_offset = QEMU_ALIGN_UP(kernel_size, 16); setup_data_offset = QEMU_ALIGN_UP(kernel_size, 16);
kernel_size = setup_data_offset + sizeof(SetupData) + RNG_SEED_LENGTH; kernel_size = setup_data_offset + sizeof(struct setup_data) + RNG_SEED_LENGTH;
kernel = g_realloc(kernel, kernel_size); kernel = g_realloc(kernel, kernel_size);
setup_data = (SetupData *)(kernel + setup_data_offset); setup_data = (struct setup_data *)(kernel + setup_data_offset);
setup_data->next = cpu_to_le64(first_setup_data); setup_data->next = cpu_to_le64(first_setup_data);
first_setup_data = prot_addr + setup_data_offset; first_setup_data = prot_addr + setup_data_offset;
setup_data->type = cpu_to_le32(SETUP_RNG_SEED); setup_data->type = cpu_to_le32(SETUP_RNG_SEED);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册