Displaying 13 results from an estimated 13 matches for "e820_entri".
Did you mean:
e820_entry
2015 Aug 26
5
[PATCH] Call ExitBootServices twice
From: Sylvain Gault <sylvain.gault at gmail.com>
On some architecture, including my hardware, the function ExitBootServices may
need to be called twice in order to successfully exit the boot services. As
stated by the UEFI spec, the first call to ExitBootServices may perform a
partial shutdown of the services. It seems that during this partial shutdown,
the memory map can be modified, thus
2020 Jun 11
2
[PATCH] efi/main: add retry to exit_boot()
...l most likely have changed in the
* interim.
*/
+ nr_entries = map_sz / desc_sz;
e = e820buf = bp->e820_map;
for (i = 0; i < nr_entries && i < E820MAX; i++) {
struct e820_entry *prev = NULL;
@@ -1089,13 +1155,6 @@ static int exit_boot(struct boot_params *bp)
bp->e820_entries = e - e820buf;
- status = uefi_call_wrapper(BS->ExitBootServices, 2, image_handle, key);
- if (status != EFI_SUCCESS) {
- printf("Failed to exit boot services: 0x%016lx\n", status);
- FreePool(map);
- return -1;
- }
-
return 0;
}
--
2.27.0
2015 Nov 02
3
[PATCH] efi: Call ExitBootServices at least twice
...hat might want to
allocate more RAM. This function looks good from here out.
> bp->efi.memmap = (uint32_t)(unsigned long)map;
> bp->efi.memmap_size = nr_entries * desc_sz;
> @@ -1088,13 +1148,6 @@ static int exit_boot(struct boot_params *bp)
>
> bp->e820_entries = e - e820buf;
>
> - status = uefi_call_wrapper(BS->ExitBootServices, 2, image_handle, key);
> - if (status != EFI_SUCCESS) {
> - printf("Failed to exit boot services: 0x%016lx\n", status);
> - FreePool(map);
> -...
2015 Aug 26
0
[PATCH] efi: Call ExitBootServices at least twice
...ESS) {
+ printf("Failed to exit boot services: 0x%016lx\n", status);
+ FreePool(map);
return -1;
+ }
+
bp->efi.memmap = (uint32_t)(unsigned long)map;
bp->efi.memmap_size = nr_entries * desc_sz;
@@ -1088,13 +1148,6 @@ static int exit_boot(struct boot_params *bp)
bp->e820_entries = e - e820buf;
- status = uefi_call_wrapper(BS->ExitBootServices, 2, image_handle, key);
- if (status != EFI_SUCCESS) {
- printf("Failed to exit boot services: 0x%016lx\n", status);
- FreePool(map);
- return -1;
- }
-
return 0;
}
--
2.5.0
2020 Jun 18
0
[PATCH] efi/main: add retry to exit_boot()
...e it will most likely have changed in the
* interim.
*/
+ nr_entries = map_sz / desc_sz;
e = e820buf = bp->e820_map;
for (i = 0; i < nr_entries && i < E820MAX; i++) {
struct e820_entry *prev = NULL;
@@ -1089,13 +1155,6 @@ static int exit_boot(struct boot_params *bp)
bp->e820_entries = e - e820buf;
- status = uefi_call_wrapper(BS->ExitBootServices, 2, image_handle, key);
- if (status != EFI_SUCCESS) {
- printf("Failed to exit boot services: 0x%016lx\n", status);
- FreePool(map);
- return -1;
- }
-
return 0;
}
--
2.27.0
_____________________________...
2015 Sep 16
1
[PATCH] efi: Call ExitBootServices at least twice
...%016lx\n",
> status);
> + FreePool(map);
> return -1;
> + }
> +
>
> bp->efi.memmap = (uint32_t)(unsigned long)map;
> bp->efi.memmap_size = nr_entries * desc_sz;
> @@ -1088,13 +1148,6 @@ static int exit_boot(struct boot_params *bp)
>
> bp->e820_entries = e - e820buf;
>
> - status = uefi_call_wrapper(BS->ExitBootServices, 2,
> image_handle, key);
> - if (status != EFI_SUCCESS) {
> - printf("Failed to exit boot services: 0x%016lx\n",
> status);
> - FreePool(map);
> - return -1;
> - }
> -
> retu...
2015 Nov 03
2
[PATCH] efi: Call ExitBootServices at least twice
...immediately call ExitBootServices().
>>> bp->efi.memmap = (uint32_t)(unsigned long)map;
>>> bp->efi.memmap_size = nr_entries * desc_sz;
>>> @@ -1088,13 +1148,6 @@ static int exit_boot(struct boot_params *bp)
>>>
>>> bp->e820_entries = e - e820buf;
>>>
>>> - status = uefi_call_wrapper(BS->ExitBootServices, 2, image_handle,
>>> key);
>>> - if (status != EFI_SUCCESS) {
>>> - printf("Failed to exit boot services: 0x%016lx\n",
>>> status)...
2015 Nov 03
0
[PATCH] efi: Call ExitBootServices at least twice
...te more RAM. This function looks good from here out.
>
>> bp->efi.memmap = (uint32_t)(unsigned long)map;
>> bp->efi.memmap_size = nr_entries * desc_sz;
>> @@ -1088,13 +1148,6 @@ static int exit_boot(struct boot_params *bp)
>>
>> bp->e820_entries = e - e820buf;
>>
>> - status = uefi_call_wrapper(BS->ExitBootServices, 2, image_handle,
>> key);
>> - if (status != EFI_SUCCESS) {
>> - printf("Failed to exit boot services: 0x%016lx\n",
>> status);
>> -...
2015 Nov 03
0
[PATCH] efi: Call ExitBootServices at least twice
...otServices().
>
>>>> bp->efi.memmap = (uint32_t)(unsigned long)map;
>>>> bp->efi.memmap_size = nr_entries * desc_sz;
>>>> @@ -1088,13 +1148,6 @@ static int exit_boot(struct boot_params *bp)
>>>>
>>>> bp->e820_entries = e - e820buf;
>>>>
>>>> - status = uefi_call_wrapper(BS->ExitBootServices, 2,
>>>> image_handle,
>>>> key);
>>>> - if (status != EFI_SUCCESS) {
>>>> - printf("Failed to exit boot services: 0...
2008 Jun 16
0
Com32/PXELINUX issues when booting on certain hardware
Hi,
It is possible for some BIOSes to return non-page-aligned values for
the start and length of regions in the BIOS memory map (through int
15h, e820h). As a result, the initrd is loaded by linux.c32 (a
provided com32 module) in a manner such that the last page contains
both a portion of initrd and some BIOS data. The linux kernel treats
this page as part of the ramdisk file system and ends up
2012 Jun 26
2
[GIT PULL] elflink bug fixes
Hi Peter,
Please pull the following changes.
Paulo, I had to revert your "pxe: resolve names via DNS from
protected-mode code" change because dns_resolv() is only implemented for
PXELINUX and causes undefined symbol references for ISOLINUX, etc. Feel
free to make the change again on top of the revert.
The following changes since commit e7bd19def830e8341b1a100956345f1028740b9e:
2008 Dec 29
0
[PULL] virtio and lguest tree
...char *argv[])
boot->hdr.type_of_loader = 0xFF;
}
- /* Set up the initial linear pagetables, starting below the initrd. */
- pgdir = setup_pagetables(mem, initrd_size);
-
/* The Linux boot header contains an "E820" memory map: ours is a
* simple, single region. */
boot->e820_entries = 1;
@@ -2064,7 +2016,7 @@ int main(int argc, char *argv[])
/* We tell the kernel to initialize the Guest: this returns the open
* /dev/lguest file descriptor. */
- lguest_fd = tell_kernel(pgdir, start);
+ lguest_fd = tell_kernel(start);
/* We clone off a thread, which wakes the Launch...
2008 Dec 29
0
[PULL] virtio and lguest tree
...char *argv[])
boot->hdr.type_of_loader = 0xFF;
}
- /* Set up the initial linear pagetables, starting below the initrd. */
- pgdir = setup_pagetables(mem, initrd_size);
-
/* The Linux boot header contains an "E820" memory map: ours is a
* simple, single region. */
boot->e820_entries = 1;
@@ -2064,7 +2016,7 @@ int main(int argc, char *argv[])
/* We tell the kernel to initialize the Guest: this returns the open
* /dev/lguest file descriptor. */
- lguest_fd = tell_kernel(pgdir, start);
+ lguest_fd = tell_kernel(start);
/* We clone off a thread, which wakes the Launch...