Commit a7b022e083a1ef03a72b8c5bd253a3c66cc4214a
Committed by
Blue Swirl
1 parent
aea86747
PPC: Round VGA BIOS size to page boundary
When giving KVM a slot of a size not on page boundary, it chokes. So let's just round up the VGA BIOS size so nobody complains anymore and we don't need to implement sub-page slots. Required for booting a PPC guest in KVM. Signed-off-by: Alexander Graf <agraf@suse.de>
Showing
2 changed files
with
8 additions
and
0 deletions
hw/ppc_newworld.c
... | ... | @@ -179,6 +179,10 @@ static void ppc_core99_init (ram_addr_t ram_size, |
179 | 179 | vga_bios_ptr[3] = 'V'; |
180 | 180 | cpu_to_be32w((uint32_t *)(vga_bios_ptr + 4), vga_bios_size); |
181 | 181 | vga_bios_size += 8; |
182 | + | |
183 | + /* Round to page boundary */ | |
184 | + vga_bios_size = (vga_bios_size + TARGET_PAGE_SIZE - 1) & | |
185 | + TARGET_PAGE_MASK; | |
182 | 186 | } |
183 | 187 | |
184 | 188 | if (linux_boot) { | ... | ... |
hw/ppc_oldworld.c
... | ... | @@ -212,6 +212,10 @@ static void ppc_heathrow_init (ram_addr_t ram_size, |
212 | 212 | vga_bios_ptr[3] = 'V'; |
213 | 213 | cpu_to_be32w((uint32_t *)(vga_bios_ptr + 4), vga_bios_size); |
214 | 214 | vga_bios_size += 8; |
215 | + | |
216 | + /* Round to page boundary */ | |
217 | + vga_bios_size = (vga_bios_size + TARGET_PAGE_SIZE - 1) & | |
218 | + TARGET_PAGE_MASK; | |
215 | 219 | } |
216 | 220 | |
217 | 221 | if (linux_boot) { | ... | ... |