All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [Bug 1823998] [NEW] qemu-system-aarch64: support kernels bigger than 128MiB
@ 2019-04-09 17:53 Mark Rutland
  2019-05-03 16:36 ` [Qemu-devel] [Bug 1823998] " Peter Maydell
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Mark Rutland @ 2019-04-09 17:53 UTC (permalink / raw)
  To: qemu-devel

Public bug reported:

Presently QEMU reserves up to 128MiB of space for an arm64 Linux kernel,
placing the initrd following this, and the dtb following the initrd.

This is not sufficient for some debug configurations of the kernel,
which can be larger than 128MiB. Depending on the relative size of the
kernel Image and unpopulated BSS, the dtb (or kernel) will be clobbered
by the other, resulting in a silent boot failure.

Since v3.17, the kernel Image header exposes a field called image_size,
which describes the entire size of the kernel (including unpopulated
sections such as the BSS) as a 64-bit little-endian value. For kernels
prior to v3.17, this field is zero. This is documented at:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm64/booting.txt?h=v5.0#n68

It would be great if QEMU could take the image_size field into account
when placing the initrd and dtb to avoid overlap with the kernel.

** Affects: qemu
     Importance: Undecided
         Status: New


** Tags: feature-request

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1823998

Title:
  qemu-system-aarch64: support kernels bigger than 128MiB

Status in QEMU:
  New

Bug description:
  Presently QEMU reserves up to 128MiB of space for an arm64 Linux
  kernel, placing the initrd following this, and the dtb following the
  initrd.

  This is not sufficient for some debug configurations of the kernel,
  which can be larger than 128MiB. Depending on the relative size of the
  kernel Image and unpopulated BSS, the dtb (or kernel) will be
  clobbered by the other, resulting in a silent boot failure.

  Since v3.17, the kernel Image header exposes a field called
  image_size, which describes the entire size of the kernel (including
  unpopulated sections such as the BSS) as a 64-bit little-endian value.
  For kernels prior to v3.17, this field is zero. This is documented at:

  https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm64/booting.txt?h=v5.0#n68

  It would be great if QEMU could take the image_size field into account
  when placing the initrd and dtb to avoid overlap with the kernel.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1823998/+subscriptions

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Qemu-devel] [Bug 1823998] Re: qemu-system-aarch64: support kernels bigger than 128MiB
  2019-04-09 17:53 [Qemu-devel] [Bug 1823998] [NEW] qemu-system-aarch64: support kernels bigger than 128MiB Mark Rutland
@ 2019-05-03 16:36 ` Peter Maydell
  2019-05-03 17:18 ` Peter Maydell
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Peter Maydell @ 2019-05-03 16:36 UTC (permalink / raw)
  To: qemu-devel

** Tags added: arm

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1823998

Title:
  qemu-system-aarch64: support kernels bigger than 128MiB

Status in QEMU:
  New

Bug description:
  Presently QEMU reserves up to 128MiB of space for an arm64 Linux
  kernel, placing the initrd following this, and the dtb following the
  initrd.

  This is not sufficient for some debug configurations of the kernel,
  which can be larger than 128MiB. Depending on the relative size of the
  kernel Image and unpopulated BSS, the dtb (or kernel) will be
  clobbered by the other, resulting in a silent boot failure.

  Since v3.17, the kernel Image header exposes a field called
  image_size, which describes the entire size of the kernel (including
  unpopulated sections such as the BSS) as a 64-bit little-endian value.
  For kernels prior to v3.17, this field is zero. This is documented at:

  https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm64/booting.txt?h=v5.0#n68

  It would be great if QEMU could take the image_size field into account
  when placing the initrd and dtb to avoid overlap with the kernel.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1823998/+subscriptions

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Qemu-devel] [Bug 1823998] Re: qemu-system-aarch64: support kernels bigger than 128MiB
  2019-04-09 17:53 [Qemu-devel] [Bug 1823998] [NEW] qemu-system-aarch64: support kernels bigger than 128MiB Mark Rutland
  2019-05-03 16:36 ` [Qemu-devel] [Bug 1823998] " Peter Maydell
@ 2019-05-03 17:18 ` Peter Maydell
  2019-07-08 15:18 ` Peter Maydell
  2019-08-16  4:51 ` Thomas Huth
  3 siblings, 0 replies; 5+ messages in thread
From: Peter Maydell @ 2019-05-03 17:18 UTC (permalink / raw)
  To: qemu-devel

I've submitted a patchset which I think should fix this, but if you
could test that it actually does handle large images correctly that
would be great.

https://patchew.org/QEMU/20190503171347.13747-1-peter.maydell@linaro.org/


** Changed in: qemu
       Status: New => In Progress

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1823998

Title:
  qemu-system-aarch64: support kernels bigger than 128MiB

Status in QEMU:
  In Progress

Bug description:
  Presently QEMU reserves up to 128MiB of space for an arm64 Linux
  kernel, placing the initrd following this, and the dtb following the
  initrd.

  This is not sufficient for some debug configurations of the kernel,
  which can be larger than 128MiB. Depending on the relative size of the
  kernel Image and unpopulated BSS, the dtb (or kernel) will be
  clobbered by the other, resulting in a silent boot failure.

  Since v3.17, the kernel Image header exposes a field called
  image_size, which describes the entire size of the kernel (including
  unpopulated sections such as the BSS) as a 64-bit little-endian value.
  For kernels prior to v3.17, this field is zero. This is documented at:

  https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm64/booting.txt?h=v5.0#n68

  It would be great if QEMU could take the image_size field into account
  when placing the initrd and dtb to avoid overlap with the kernel.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1823998/+subscriptions

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Qemu-devel] [Bug 1823998] Re: qemu-system-aarch64: support kernels bigger than 128MiB
  2019-04-09 17:53 [Qemu-devel] [Bug 1823998] [NEW] qemu-system-aarch64: support kernels bigger than 128MiB Mark Rutland
  2019-05-03 16:36 ` [Qemu-devel] [Bug 1823998] " Peter Maydell
  2019-05-03 17:18 ` Peter Maydell
@ 2019-07-08 15:18 ` Peter Maydell
  2019-08-16  4:51 ` Thomas Huth
  3 siblings, 0 replies; 5+ messages in thread
From: Peter Maydell @ 2019-07-08 15:18 UTC (permalink / raw)
  To: qemu-devel

Changes now in master, will be in 4.1.


** Changed in: qemu
       Status: In Progress => Fix Committed

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1823998

Title:
  qemu-system-aarch64: support kernels bigger than 128MiB

Status in QEMU:
  Fix Committed

Bug description:
  Presently QEMU reserves up to 128MiB of space for an arm64 Linux
  kernel, placing the initrd following this, and the dtb following the
  initrd.

  This is not sufficient for some debug configurations of the kernel,
  which can be larger than 128MiB. Depending on the relative size of the
  kernel Image and unpopulated BSS, the dtb (or kernel) will be
  clobbered by the other, resulting in a silent boot failure.

  Since v3.17, the kernel Image header exposes a field called
  image_size, which describes the entire size of the kernel (including
  unpopulated sections such as the BSS) as a 64-bit little-endian value.
  For kernels prior to v3.17, this field is zero. This is documented at:

  https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm64/booting.txt?h=v5.0#n68

  It would be great if QEMU could take the image_size field into account
  when placing the initrd and dtb to avoid overlap with the kernel.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1823998/+subscriptions


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Qemu-devel] [Bug 1823998] Re: qemu-system-aarch64: support kernels bigger than 128MiB
  2019-04-09 17:53 [Qemu-devel] [Bug 1823998] [NEW] qemu-system-aarch64: support kernels bigger than 128MiB Mark Rutland
                   ` (2 preceding siblings ...)
  2019-07-08 15:18 ` Peter Maydell
@ 2019-08-16  4:51 ` Thomas Huth
  3 siblings, 0 replies; 5+ messages in thread
From: Thomas Huth @ 2019-08-16  4:51 UTC (permalink / raw)
  To: qemu-devel

https://git.qemu.org/?p=qemu.git;a=commitdiff;h=5e6dbe1e8cbbe4b6f74

** Changed in: qemu
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1823998

Title:
  qemu-system-aarch64: support kernels bigger than 128MiB

Status in QEMU:
  Fix Released

Bug description:
  Presently QEMU reserves up to 128MiB of space for an arm64 Linux
  kernel, placing the initrd following this, and the dtb following the
  initrd.

  This is not sufficient for some debug configurations of the kernel,
  which can be larger than 128MiB. Depending on the relative size of the
  kernel Image and unpopulated BSS, the dtb (or kernel) will be
  clobbered by the other, resulting in a silent boot failure.

  Since v3.17, the kernel Image header exposes a field called
  image_size, which describes the entire size of the kernel (including
  unpopulated sections such as the BSS) as a 64-bit little-endian value.
  For kernels prior to v3.17, this field is zero. This is documented at:

  https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm64/booting.txt?h=v5.0#n68

  It would be great if QEMU could take the image_size field into account
  when placing the initrd and dtb to avoid overlap with the kernel.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1823998/+subscriptions


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-08-16  5:02 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-09 17:53 [Qemu-devel] [Bug 1823998] [NEW] qemu-system-aarch64: support kernels bigger than 128MiB Mark Rutland
2019-05-03 16:36 ` [Qemu-devel] [Bug 1823998] " Peter Maydell
2019-05-03 17:18 ` Peter Maydell
2019-07-08 15:18 ` Peter Maydell
2019-08-16  4:51 ` Thomas Huth

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.