|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-devel
[Xen-devel] [PATCH 11 of 15] hvmloader: allow create_mp_tables() to allo
 
# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1306917709 -3600
# Node ID 5357077295f21154b076925d1d4687b076de6bfc
# Parent  361304106d85f61cdeffd5805c46520feac19e89
hvmloader: allow create_mp_tables() to allocate the table
Will be used by SeaBIOS.
Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
diff -r 361304106d85 -r 5357077295f2 tools/firmware/hvmloader/mp_tables.c
--- a/tools/firmware/hvmloader/mp_tables.c      Wed Jun 01 09:37:13 2011 +0100
+++ b/tools/firmware/hvmloader/mp_tables.c      Wed Jun 01 09:41:49 2011 +0100
@@ -266,12 +266,27 @@ unsigned long create_mp_tables(void *_mp
     int vcpu_nr, i, length;
     void *base;
     struct mp_io_intr_entry *mpiie;
-    struct mp_floating_pointer_struct *mpfps = _mpfps;
+    struct mp_floating_pointer_struct *mpfps;
 
     vcpu_nr = hvm_info->nr_vcpus;
 
     printf("Creating MP tables ...\n");
 
+    if (!_mpfps) {
+        int sz;
+
+        sz  = sizeof(struct mp_floating_pointer_struct);
+        sz += sizeof(struct mp_config_table);
+        sz += sizeof(struct mp_proc_entry) * vcpu_nr;
+        sz += sizeof(struct mp_bus_entry);
+        sz += sizeof(struct mp_ioapic_entry);
+        sz += sizeof(struct mp_io_intr_entry) * 16;
+
+        base = mem_alloc(sz, 0);
+    }
+
+    mpfps = _mpfps;
+
     base = &mpfps[1];
 
     p = base + sizeof(struct mp_config_table);
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread>
 |  
- [Xen-devel] [PATCH 00 of 15] Further SeaBIOS support, Ian Campbell
- [Xen-devel] [PATCH 01 of 15] hvmloader: allow per-BIOS decision on loading option ROMS, Ian Campbell
 
- [Xen-devel] [PATCH 03 of 15] hvmloader: setup PCI bus in a common	function again, Ian Campbell
 
- [Xen-devel] [PATCH 05 of 15] hvmloader: call SMP setup from common	code again, Ian Campbell
 
- [Xen-devel] [PATCH 07 of 15] hvmloader: make SMBIOS initialisation	more general, Ian Campbell
 
- [Xen-devel] [PATCH 09 of 15] hvmloader: refactor BIOS info setup, Ian Campbell
 
- [Xen-devel] [PATCH 11 of 15] hvmloader: allow create_mp_tables() to allocate the table,
Ian Campbell <=
 
- [Xen-devel] [PATCH 02 of 15] hvmloader: enable PCI_COMMAND_IO on primary VGA device, Ian Campbell
 
- [Xen-devel] [PATCH 13 of 15] hvmloader: further support for SeaBIOS, Ian Campbell
 
- [Xen-devel] [PATCH 06 of 15] hvmloader: make ACPI initialisation	hook more general, Ian Campbell
 
- [Xen-devel] [PATCH 15 of 15] hvmloader: add code to generate a $PIR	table, Ian Campbell
 
- [Xen-devel] [PATCH 04 of 15] hvmloader: setup APICs in a common	function again, Ian Campbell
 
- [Xen-devel] [PATCH 08 of 15] hvmloader: Add a simple "scratch	allocator", Ian Campbell
 
- [Xen-devel] [PATCH 10 of 15] hvmloader: return MPFPS from	create_mp_tables(), Ian Campbell
 
 
 
 
 |  
  
 | 
    | 
  
  
    |   | 
    |