Skip to content
Snippets Groups Projects
efi.c 26.3 KiB
Newer Older
  • Learn to ignore specific revisions
  • 
    		if (status == EFI_SUCCESS) {
    			/*
    			 * This should have failed, so if it didn't make sure
    			 * that we delete it...
    			 */
    			efi.set_variable(efi_dummy_name, &EFI_DUMMY_GUID,
    					 EFI_VARIABLE_NON_VOLATILE |
    					 EFI_VARIABLE_BOOTSERVICE_ACCESS |
    					 EFI_VARIABLE_RUNTIME_ACCESS,
    					 0, dummy);
    		}
    
    		/*
    		 * The runtime code may now have triggered a garbage collection
    		 * run, so check the variable info again
    		 */
    		status = efi.query_variable_info(attributes, &storage_size,
    						 &remaining_size, &max_size);
    
    		if (status != EFI_SUCCESS)
    			return status;
    
    		/*
    		 * There still isn't enough room, so return an error
    		 */
    		if (remaining_size - size < EFI_MIN_RESERVE)
    			return EFI_OUT_OF_RESOURCES;
    	}
    
    EXPORT_SYMBOL_GPL(efi_query_variable_store);
    
    
    static int __init parse_efi_cmdline(char *str)
    {
    	if (*str == '=')
    		str++;
    
    	if (!strncmp(str, "old_map", 7))
    		set_bit(EFI_OLD_MEMMAP, &x86_efi_facility);
    
    	return 0;
    }
    early_param("efi", parse_efi_cmdline);