[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Recent SeaBIOS too big for QEMU -initrd
From: |
Kevin O'Connor |
Subject: |
Re: [Qemu-devel] Recent SeaBIOS too big for QEMU -initrd |
Date: |
Wed, 20 Aug 2014 18:17:40 -0400 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Wed, Aug 20, 2014 at 11:27:41AM +0100, Stefan Hajnoczi wrote:
> The QEMU -initrd option loads the initrd at the top of RAM. There is
> a 64 KB safety region for ACPI tables in hw/i386/pc.c:load_linux():
>
> initrd_max = max_ram_size-ACPI_DATA_SIZE-1;
>
> QEMU's bios-256k.bin SeaBIOS build reserves 128 KB at the top of
> memory so the 64 KB ACPI data size has become too small.
Just to clarify, SeaBIOS uses a variable amount of data at the top of
ram. SeaBIOS isn't changing the allocation because of its build
parameters, but because QEMU is passing more ACPI tables to it.
> Perhaps QEMU -> SeaBIOS -> linuxboot.bin can be simplified so QEMU
> doesn't have to guess what e820 region SeaBIOS will reserve.
> linuxboot.bin would probably be the place to do it unless SeaBIOS has
> Linux loading functionality that could be reused.
There is no current functionality in SeaBIOS to deploy a Linux kernel
from fw_cfg. However, it looks like it would be pretty simple to add
if someone wants to give it a try.
-Kevin