[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #47711] EFI boot hang when driver allocates more than 1.5GB RAM abo
From: |
B Cran |
Subject: |
[bug #47711] EFI boot hang when driver allocates more than 1.5GB RAM above 4GB |
Date: |
Fri, 15 Apr 2016 21:06:33 +0000 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36 OPR/36.0.2130.65 |
URL:
<http://savannah.gnu.org/bugs/?47711>
Summary: EFI boot hang when driver allocates more than 1.5GB
RAM above 4GB
Project: GNU GRUB
Submitted by: bcran
Submitted on: Fri 15 Apr 2016 09:06:32 PM GMT
Category: Booting
Severity: Major
Priority: 5 - Normal
Item Group: Software Error
Status: None
Privacy: Public
Assigned to: None
Originator Name: B Cran
Originator Email: address@hidden
Open/Closed: Open
Discussion Lock: Any
Release:
Release: Git master
Reproducibility: Every Time
Planned Release: None
_______________________________________________________
Details:
I have a UEFI driver that, when sufficient memory is available, uses lots of
it for its work, for example routinely allocating 3-4GB. In an attempt to
avoid problems with other drivers, applications or bootloaders, allocations
start from the top of RAM and work towards the bottom.
GRUB master (abf9beb7d667d3604774753cf698c439c6fbc736) hangs sometime after
calling `b->grub_efi_finish_boot_services` in grub_linux_boot()
(grub-core/loader/i386/linux.c) when the following EFI code is run in a
driver:
```
EFI_PHYSICAL_ADDRESS addr = 0x180000000;
EFI_STATUS status = gBS->AllocatePages(AllocateAddress, EfiBootServicesData,
0x80000, &addr);
```
For simplicity of replicating the problem this doesn't figure out where the
top of memory is, but instead just chooses to allocate at 6GB.
I'm running OVMF from edk2 master under qemu 2.5.50 with:
qemu-system-x86_64 -name uefi -M pc -m size=20G -cpu host -drive
unit=0,if=pflash,format=raw,file=OVMF.fd -nodefaults -realtime mlock=off
-enable-kvm -S -s -rtc base=utc -monitor stdio -drive
file=uefi3.img,if=ide,media=disk,format=raw -vga std -vnc :0 -device
vfio-pci,host=02:00.0,id=pcidev,romfile=allocmem.rom
I've tried debugging this further by using gdb, but so far haven't managed to
get a build that has full symbols.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?47711>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
- [bug #47711] EFI boot hang when driver allocates more than 1.5GB RAM above 4GB,
B Cran <=