Fix domain shutdown so that the new status, and notification to domain0,
occur *after* the domain is fully descheduled and its execution state
synchronised.
Signed-off-by: Keir Fraser <keir@xensource.com>
Rename some of the pagetable access macros:
l?e_create_* -> l?e_from_*
*_phys -> *_paddr
*_value -> *_intpte
l?e_add_flags, l?e_remove_flags, l?e_has_changed now take ptes by value
rather than by reference.
The pagetable hypercalls are fixed to use l?e_from_intpte() rather than
abusing l?e_from_paddr(), which munged the NX bit incorrectly on x86/64.
Thanks to Scott Parish for spotting this one.
Signed-off-by: Keir Fraser <keir@xensource.com>
sched.h, domain.c:
Make {exec_,}domain_{un,}pause and ..._by_systemcontroller variants
non-inline.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Fix get_pte_flags/put_pte_flags macros. Limit 32-bit PAE to 44-bit
physical addresses (maximum PFN that will fit in a 32-bit word).
Signed-off-by: Keir Fraser <keir@xensource.com>
ioemu fixes: do not install into /usr/share/qemu as it conflicts with
real qemu installations. Also, do not link x86/64 with a special linker
script -- breaks on SLES9 and ought to be unnecessary.
The linker scripts and configuration/Makefile environment all need
stripping out at some point.
Signed-off-by: Keir Fraser <keir@xensource.com>
Subject: PAE support
This patch adds initial support for PAE paging to xen.
This patch does:
* boot Xen itself with PAE paging enabled.
* add PAE support to the dom0 domain builder.
Some notes on the design and the changes:
* There are two new config options: CONFIG_X86_PAE (boolean,
same name Linux uses to simply things) and
CONFIG_PAGING_LEVELS (int, possible values are 2,3,4). I've
used #if CONFIG_PAGING_LEVELS for stuff which simply depends
on the number of paging levels in the code common for
x86-32/64, and CONFIG_X86_PAE for special PAE quirks or
i386-only stuff. I've tried to avoid ifdefs if possible
though, often I rearranged code to make it work in both
PAE and non-PAE case instead.
* idle_pg_table: 3rd level is statically initialized, 2nd
level is contignous in physical and virtual memory, so it can
be addressed linear (the dom0 builder uses the same trick to
simplify things a bit btw.). There are two new symbols:
idle_pg_table_l3 and idle_pg_table_l2 for the two tables.
idle_pg_table is aliased to the toplevel page table, i.e.
idle_pg_table_l3 in PAE mode and idle_pg_table_l2 in non-pae
mode. The idle l3 table is actually never ever touched after
boot, the l2 table is accessed via idle_pg_table_l2 and
addressed linear in both PAE and non-PAE mode.
* I've added a "intpte_t" type and a PRIpte define, modeled
after the C99 inttypes.h header, for page table entries.
Signed-off-by: Gerd Knorr <kraxel@bytesex.org>
XendDomainInfo.py:
g/c vif_up: it's the guest's responsibility to take appropriate
actions to get its network working again, i.e. send ARP packets when
it's resumed.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
XendRoot.py:
Document loglevel_default and change default interface address for
listening at for console connections.
Signed-off-by: Nguyen Anh Quynh <aquynh@gmail.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
vnet-xend.txt, user.tex, README:
Update the Linux kernel version number from 2.6.9 to 2.6 or 2.6.11
in several places in documentation.
Original patch provided by Andrew Thompson <andrewkt@aktzero.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
XendProtocol.py:
Make XendProtocol.py use XendRoot to get the path to xend
domain-socket.
Signed-off-by: Nguyen Anh Quynh <aquynh@gmail.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
XendRoot.py:
XendRoot::logDebug wrongly set the message format to 'info', instead
of 'debug'.
Signed-off-by: Nguyen Anh Quynh <aquynh@gmail.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Fix CPU detection and initialisation. We now do early detection very
early, but pushed full initialisation to somewhat later when other
infrastructure is properly ready.
Signed-off-by: Keir Fraser <keir@xensource.com>
Solve badness problem when udp_poll() receives fragmented skbuff w/ CONFIG_HIGHMEM
Upstream patch (now in -net tree) from Herbert Xu.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Steven Hand <steven@xensource.com>
By default do not enable local APIC if disabled by the BIOS. This
matches Linux behaviour and ought to improve stability on buggy
hardware/firmware (laptops in particular). As in Linux, you can
forcibly enable the APIC with 'lapic' command-line option, or
forcibly ignore it with 'nolapic'.
Signed-off-by: Keir Fraser <keir@xensource.com>