|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH V5 03/15] create arch functions to allocate memory for and process EFI memory map.
On Fri, Sep 19, 2014 at 1:47 AM, Jan Beulich <JBeulich@xxxxxxxx> wrote:
>>>> On 19.09.14 at 00:49, <roy.franz@xxxxxxxxxx> wrote:
>> @@ -657,16 +655,18 @@ efi_start(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE
>> *SystemTable)
>> EFI_STATUS status;
>> unsigned int i, argc;
>> CHAR16 **argv, *file_name, *cfg_file_name = NULL;
>> - UINTN cols, rows, depth, size, map_key, info_size, gop_mode = ~0;
>> + UINTN cols, rows, depth, size, info_size, gop_mode = ~0;
>> EFI_HANDLE *handles = NULL;
>> EFI_SHIM_LOCK_PROTOCOL *shim_lock;
>> EFI_GRAPHICS_OUTPUT_PROTOCOL *gop = NULL;
>> EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *mode_info;
>> EFI_FILE_HANDLE dir_handle;
>> union string section = { NULL }, name;
>> - struct e820entry *e;
>> u64 efer;
>> bool_t base_video = 0;
>> + UINT32 mmap_desc_ver = 0;
>> + UINTN mmap_size, mmap_desc_size, mmap_key = 0;
>
> Are these initializers really needed?
The base_video is, some of the others aren't in the current form. I will
audit the initialized local variables here.
>
> Also I previously commented about mdesc_ver having been static
> rather than automatic for a reason, yet you still don't retain that.
Sorry, I had missed that bit in the virtual mapping issues. I'll return this
to being static.
>
> Similarly for efi_memmap_size, efi_mdesc_size, and efi_memmap:
> With runtime.c moved and (presumably later in the series) also
> built for ARM, there's no point in moving the setting of these into
> efi_arch_process_memory_map().
Yes, I missed undoing this as part of pulling the in the global
runtime variables. These should
all be able to be reverted.
>
>> @@ -1262,67 +1260,20 @@ efi_start(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE
>> *SystemTable)
>> }
>> }
>>
>> - efi_bs->GetMemoryMap(&efi_memmap_size, NULL, &map_key,
>> - &efi_mdesc_size, &mdesc_ver);
>> - mbi.mem_upper -= efi_memmap_size;
>> - mbi.mem_upper &= -__alignof__(EFI_MEMORY_DESCRIPTOR);
>> - if ( mbi.mem_upper < xen_phys_start )
>> - blexit(L"Out of static memory");
>> - efi_memmap = (void *)(long)mbi.mem_upper;
>> - status = efi_bs->GetMemoryMap(&efi_memmap_size, efi_memmap, &map_key,
>> - &efi_mdesc_size, &mdesc_ver);
>> + efi_bs->GetMemoryMap(&mmap_size, NULL, &mmap_key,
>> + &mmap_desc_size, &mmap_desc_ver);
>> + mmap = efi_arch_allocate_mmap_buffer(mmap_size);
>> + if ( !mmap )
>> + blexit(L"ERROR Unable to allocate memory for EFI memory map\r\n");
>
> blexit() appends a newline itself.
I'll fix this and review the other blexit() calls.
>
> Jan
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |