# HG changeset patch # User yamahata@xxxxxxxxxxxxx # Date 1183692882 -32400 # Node ID 9840ac651eec011451da9100020edc4d75a813c7 # Parent 933a77982c7628eb341aad09329bbf0a56702faa rename NUM_MEM_DESC to NUM_EXTRA_MEM_DESC and reduce it. PATCHNAME: reduce_num_mem_desc Signed-off-by: Isaku Yamahata diff -r 933a77982c76 -r 9840ac651eec xen/arch/ia64/xen/dom_fw_utils.c --- a/xen/arch/ia64/xen/dom_fw_utils.c Mon Jun 18 16:49:15 2007 +0900 +++ b/xen/arch/ia64/xen/dom_fw_utils.c Fri Jul 06 12:34:42 2007 +0900 @@ -250,10 +250,28 @@ int dom_fw_setup(domain_t * d, unsigned imva_hypercall_base = (unsigned long)domain_mpa_to_imva (d, FW_HYPERCALL_BASE_PADDR); + /* + * dom_fw_init() + * - [FW_HYPERCALL_BASE_PADDR, FW_HYPERCALL_END_PADDR) + * - [FW_ACPI_BASE_PADDR, FW_ACPI_END_PADDR) + * - [FW_TABLES_BASE_PADDR, tables->fw_tables_end_paddr) + * + * complete_dom0_memmap() for dom0 + * - real machine memory map + * - memmap_info by setup_dom0_memmap_info() + * + * complete_domu_memmap() for old domu builder + * - I/O port + * - conventional memory + * - memmap_info + */ +#define NUM_EXTRA_MEM_DESCS 4 + /* Estimate necessary efi memmap size and allocate memory */ fw_tables_size = sizeof(*fw_tables) + (ia64_boot_param->efi_memmap_size / - ia64_boot_param->efi_memdesc_size + NUM_MEM_DESCS) * + ia64_boot_param->efi_memdesc_size + + NUM_EXTRA_MEM_DESCS) * sizeof(fw_tables->efi_memmap[0]); if (fw_tables_size < FW_TABLES_END_PADDR_MIN - FW_TABLES_BASE_PADDR) @@ -301,11 +319,12 @@ int dom_fw_setup(domain_t * d, unsigned if (sizeof(*fw_tables) + fw_tables->num_mds * sizeof(fw_tables->efi_memmap[0]) > fw_tables_size) { - panic("EFI memmap too large. Increase NUM_MEM_DESCS.\n" + panic("EFI memmap too large. " + "Increase NUM_EXTRA_MEM_DESCS.\n" "fw_table_size %ld > %ld num_mds %ld " - "NUM_MEM_DESCS %d.\n", + "NUM_EXTRA_MEM_DESCS %d.\n", fw_tables_size, fw_tables->fw_tables_size, - fw_tables->num_mds, NUM_MEM_DESCS); + fw_tables->num_mds, NUM_EXTRA_MEM_DESCS); } fw_tables_size = sizeof(*fw_tables) + fw_tables->num_mds * sizeof(fw_tables->efi_memmap[0]); diff -r 933a77982c76 -r 9840ac651eec xen/include/asm-ia64/dom_fw_common.h --- a/xen/include/asm-ia64/dom_fw_common.h Mon Jun 18 16:49:15 2007 +0900 +++ b/xen/include/asm-ia64/dom_fw_common.h Fri Jul 06 12:34:42 2007 +0900 @@ -51,7 +51,6 @@ typedef struct xc_dom_image domain_t; #define NFUNCPTRS 16 #define NUM_EFI_SYS_TABLES 6 -#define NUM_MEM_DESCS 64 //large enough struct fw_tables { efi_system_table_t efi_systab;