[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] hvmloader: allow create_mp_tables() to allocate the table
# HG changeset patch # User Ian Campbell <ian.campbell@xxxxxxxxxx> # Date 1306943270 -3600 # Node ID 2f56ad4fc13b2ff29745e5fa2d2e10a65c9d8967 # Parent d943f14c306e7e4e8b5e2ebd81cb6333c667989d hvmloader: allow create_mp_tables() to allocate the table Will be used by SeaBIOS. Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> --- diff -r d943f14c306e -r 2f56ad4fc13b tools/firmware/hvmloader/mp_tables.c --- a/tools/firmware/hvmloader/mp_tables.c Wed Jun 01 16:47:27 2011 +0100 +++ b/tools/firmware/hvmloader/mp_tables.c Wed Jun 01 16:47:50 2011 +0100 @@ -266,12 +266,27 @@ 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-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |