[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH V2 04/12] Refactor read_file() so it can be shared.
On Thu, Jul 24, 2014 at 12:09 AM, Jan Beulich <JBeulich@xxxxxxxx> wrote: >>>> On 22.07.14 at 02:43, <roy.franz@xxxxxxxxxx> wrote: >> The read_file() function updated some multiboot specific data structures >> as it was loading a file. These changes make read_file() more generic, >> and create a load_file() wrapper for x86 that updates the multiboot >> data structures. read_file() no longer does special handling of >> the configuration file, as this was only needed to avoid adding >> it to the multiboot structures. read_file() and load_file() return >> error codes rather than directly exiting on error to facilicate >> sharing. Different architectures may require different max allocation >> addresses so take that as an argument. > > Unless you expect an architecture to pass in different values on > different invocations this clearly can be a #define rather than a > function parameter. I'll remove the argument - Ian's module freeing patch removes the need for this. > >> @@ -405,12 +399,21 @@ static bool_t __init read_file(EFI_FILE_HANDLE >> dir_handle, CHAR16 *name, >> >> if ( what ) >> { >> - PrintErr(what); >> - PrintErr(L" failed for "); >> - PrintErrMesgExit(name, ret); >> + PrintErrMesg(what, ret); >> + PrintErr(L"Unable to load file"); > > Is it intentional to make the message less useful by dripping the > printing of the file name? No, I have fixed this. > >> + return 0; >> + } >> + else > > No need for an "else" after an unconditional "return" in the "if" > branch. > >> @@ -470,6 +473,21 @@ static char *__init get_value(const struct file *cfg, >> const char *section, >> } >> return NULL; >> } >> +/* Only call with non-config files. */ > > Missing blank line before this comment. > >> +bool_t __init load_file(EFI_FILE_HANDLE dir_handle, CHAR16 *name, >> + struct file *file) >> +{ >> + EFI_PHYSICAL_ADDRESS max = min(1UL << (32 + PAGE_SHIFT), >> + HYPERVISOR_VIRT_END - >> DIRECTMAP_VIRT_START); >> + if ( read_file(dir_handle, name, file, max) ) > > Missing blank line between declaration and first statement. Fixed this and above issues > >> @@ -896,16 +921,20 @@ efi_start(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE >> *SystemTable) >> { >> microcode_set_module(mbi.mods_count); >> split_value(name.s); >> - read_file(dir_handle, s2w(&name), &ucode); >> + load_ok = load_file(dir_handle, s2w(&name), &ucode); >> efi_bs->FreePool(name.w); >> + if ( !load_ok ) >> + blexit(L"Unable to load ucode image."); >> } >> >> name.s = get_value(&cfg, section.s, "xsm"); >> if ( name.s ) >> { >> split_value(name.s); >> - read_file(dir_handle, s2w(&name), &xsm); >> + load_ok = load_file(dir_handle, s2w(&name), &xsm); >> efi_bs->FreePool(name.w); >> + if ( !load_ok ) >> + blexit(L"Unable to load ucode image."); > > Apart from the same comment made on an earlier patch - no need > for an extra message here when the called function already printed > one - this is a copy'n'paste mistake: You mean XSM instead of ucode > here. Fixed, and I'll review redundant messages. > > Jan > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |