|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 11 of 15] hvmloader: allow create_mp_tables() to allocate the table
# 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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |