Commit Graph
5236 Commits
Author SHA1 Message Date
kaf24@firebug.cl.cam.ac.uk 88198ec1b0 bitkeeper revision 1.1615.1.1 (429c8530L_ZtVuxsQcKwKB3yPuljog)
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>
2005-05-31 15:39:28 +00:00
cl349@firebug.cl.cam.ac.uk 59f83bdc8f bitkeeper revision 1.1615 (429c80cbvtnzneyg7GyZAmZlQNm-Yg)
XendDomainInfo.py:
  g/c vm_restore:  no longer used.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-05-31 15:20:43 +00:00
cl349@firebug.cl.cam.ac.uk 6a89fed7f6 bitkeeper revision 1.1614 (429c80a0GOB6P2mG94bxVMLZE34VdA)
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>
2005-05-31 15:20:00 +00:00
cl349@firebug.cl.cam.ac.uk d47ec32b2f bitkeeper revision 1.1613 (429c6e1eexBYav7WpRxH77Hcyh4PLQ)
XendDomainInfo.py:
  Should use int(cpu) here to test if it's valid.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-05-31 14:01:02 +00:00
cl349@firebug.cl.cam.ac.uk f58df8b759 bitkeeper revision 1.1612 (429c6dd5DZf10_GWDT3DTiTom7Mb1g)
XendDomainInfo.py:
  cpu == 0 is the 1st cpu, allow pinning a domain to it.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-05-31 13:59:49 +00:00
cl349@firebug.cl.cam.ac.uk 6a9d89d758 bitkeeper revision 1.1611 (429c6853QfpsOT-V0bESe-1WhWLOWw)
Merge firebug.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-unstable.bk
into firebug.cl.cam.ac.uk:/local/scratch/cl349/xen-unstable.bk
2005-05-31 13:36:19 +00:00
cl349@firebug.cl.cam.ac.uk 1b6178bfc7 bitkeeper revision 1.1610 (429c6844gwqwv-oCcjfTguJRDbgCXQ)
XendRoot.py:
  Fix get_xend_relocation_port comment.
Signed-off-by: Nguyen Anh Quynh <aquynh@gmail.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-05-31 13:36:04 +00:00
cl349@firebug.cl.cam.ac.uk 33ee35be59 bitkeeper revision 1.1609 (429c6790TWBysBM5eFTwmssbNmB69g)
Merge firebug.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-2.0-testing.bk
into firebug.cl.cam.ac.uk:/local/scratch/cl349/xen-unstable.bk
2005-05-31 13:33:04 +00:00
cl349@firebug.cl.cam.ac.uk 227268c011 bitkeeper revision 1.1159.258.161 (429c6785ldESInztrl6dDaEZHXUyZg)
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>
2005-05-31 13:32:53 +00:00
cl349@firebug.cl.cam.ac.uk f5e464d82a bitkeeper revision 1.1608 (429c646erSBefwnCqVeHKzsRTMIwjA)
Merge.
2005-05-31 13:19:42 +00:00
cl349@firebug.cl.cam.ac.uk 92a1834268 bitkeeper revision 1.1159.258.160 (429c6406X0OUPVHTFIkpoqSmFue5nQ)
Makefile:
  Install xen-syms-${version-number} not xen-${version-number}-syms.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-05-31 13:17:58 +00:00
cl349@firebug.cl.cam.ac.uk acbaea9bb9 bitkeeper revision 1.1159.258.159 (429c6342A2HJ4wUj0nM5MNauX7azZQ)
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>
2005-05-31 13:14:42 +00:00
kaf24@firebug.cl.cam.ac.uk e9db1265d3 bitkeeper revision 1.1604.1.1 (429c35e2KuWnzd9bfhKRv0nY4yq4Rw)
Merge firebug.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-unstable.bk
into firebug.cl.cam.ac.uk:/local/scratch/kaf24/xen-unstable.bk
2005-05-31 10:01:06 +00:00
kaf24@firebug.cl.cam.ac.uk 30553f03fd bitkeeper revision 1.1602.1.1 (429c35dbocwkNUKh8dzTXqsSFlVFog)
Fix gcc4 build.
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-05-31 10:00:59 +00:00
cl349@firebug.cl.cam.ac.uk cf5e514eae bitkeeper revision 1.1607 (429c2f231bx3kugLWzaDsPB4OQMBAA)
Merge
2005-05-31 09:32:19 +00:00
cl349@firebug.cl.cam.ac.uk f2070412f6 bitkeeper revision 1.1159.258.158 (429c2ed9fqwHGLXrjJlLr96kpvW_UA)
XendConsole.py:
  Remove unused code.
Signed-off-by: Nguyen Anh Quynh <aquynh@gmail.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-05-31 09:31:05 +00:00
cl349@firebug.cl.cam.ac.uk 0f9c68f0c2 bitkeeper revision 1.1606 (429c2af45-eQkEjNUi7xp8oigsbTSg)
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>
2005-05-31 09:14:28 +00:00
cl349@firebug.cl.cam.ac.uk a49e6a7461 bitkeeper revision 1.1605 (429c2a02hn35DARfsEykCzpBrPrMhw)
SrvDaemon.py:
  Remove unused code.
Signed-off-by: Nguyen Anh Quynh <aquynh@gmail.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-05-31 09:10:26 +00:00
cl349@firebug.cl.cam.ac.uk 70a35c20df bitkeeper revision 1.1604 (429c27853YjCcOkLEnjS5rFvk6ORlQ)
Merge firebug.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-2.0-testing.bk
into firebug.cl.cam.ac.uk:/local/scratch/cl349/xen-unstable.bk
2005-05-31 08:59:49 +00:00
cl349@firebug.cl.cam.ac.uk 962e7da06c bitkeeper revision 1.1159.258.157 (429c276eHQwfuqCUJJBnQeDTzUz3lg)
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>
2005-05-31 08:59:26 +00:00
cl349@firebug.cl.cam.ac.uk 3d28d79984 bitkeeper revision 1.1603 (429c25daAxv8CzKG49dW0khs2wyBew)
xc_ptrace_core.c, xc_ptrace.c:
  SLES9 has a problem with it's <asm/elf.h> and other headers associated
  with it. Since we are only using one thing from this (that we really
  don't need) we can just stop including it.
http://bugzilla.xensource.com/cgi-bin/bugzilla/show_bug.cgi?id=34
Signed-off-by: Jerone Young <jyoung5@us.ibm.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-05-31 08:52:42 +00:00
kaf24@firebug.cl.cam.ac.uk fb559c6212 bitkeeper revision 1.1602 (429c2005b_phBM8VV-zUAH99jBwhMw)
Updated process.c for x86-64.
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
2005-05-31 08:27:49 +00:00
kaf24@firebug.cl.cam.ac.uk 8e41e1c94b bitkeeper revision 1.1601 (429c1ed4wKexKmX-ibC6x3hHrciDNQ)
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>
2005-05-31 08:22:44 +00:00
smh22@tempest.cl.cam.ac.uk 3d55c2a228 bitkeeper revision 1.1600 (429ba505NfUdL-sQ8-FAIhULwXSaHQ)
Merge tempest.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-2.0-testing.bk
into tempest.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-unstable.bk
2005-05-30 23:43:01 +00:00
smh22@tempest.cl.cam.ac.uk 4c67d3b106 bitkeeper revision 1.1159.258.156 (429ba4d3T2WmSlhY2aTmV6KN88hZHw)
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>
2005-05-30 23:42:11 +00:00
kaf24@firebug.cl.cam.ac.uk 10b7bf98cb bitkeeper revision 1.1599 (429b828aL4XKwdaPjLGObI37F4hwiw)
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>
2005-05-30 21:15:54 +00:00
iap10@freefall.cl.cam.ac.uk f279b10b57 bitkeeper revision 1.1598 (429b7933SwjyJJbULLC4ZT800edwvQ)
Merge freefall.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-2.0-testing.bk
into freefall.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-unstable.bk
2005-05-30 20:36:03 +00:00
iap10@freefall.cl.cam.ac.uk d40eaaf952 bitkeeper revision 1.1159.258.155 (429b7918fdegxe1sz_LxgKSA-WkOkA)
Upgrade to Linux patch 2.6.11.11
Signed-off-by: ian@xensource.com
2005-05-30 20:35:36 +00:00
smh22@firebug.cl.cam.ac.uk d0e8e50db8 bitkeeper revision 1.1597 (429b4898xNVUuBPMVXKa545qSx7i7A)
fix xm vif-list and xm vbd-list (modulo error reporting for domain 0)

Signed-off-by: Steven Hand <steven@xensource.com>
2005-05-30 17:08:40 +00:00
smh22@firebug.cl.cam.ac.uk bef12ffef7 bitkeeper revision 1.1596 (429b3fa2RgeJZgQIRrT4oHa-PKg4zg)
Merge firebug.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-unstable.bk
into firebug.cl.cam.ac.uk:/local/scratch/smh22/xen-unstable.bk
2005-05-30 16:30:26 +00:00
smh22@firebug.cl.cam.ac.uk 4df6f3bbbe bitkeeper revision 1.1593.1.1 (429b3f9dAiHnKq38m74zg-HSQnYfwQ)
partial fix for vbd-list and vif-list
2005-05-30 16:30:21 +00:00
kaf24@firebug.cl.cam.ac.uk 0f732c946e bitkeeper revision 1.1595 (429b3970iSiBE6JNLmeO-KDY_v3Hdg)
Better locking strategy in serial rx interrupt handler and getc. Release
the spinlock after each loop iteration to prevent starvation of other
cpus and of interrupt handling. Also neatly folds byte_matches() into
serial_getc().
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-05-30 16:04:00 +00:00
cl349@firebug.cl.cam.ac.uk e26aba7c65 bitkeeper revision 1.1594 (429b32ebzaQqk1iPvkQPHa7u9hft-g)
console.c:
  Bring back console_{getc,putc}.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-05-30 15:36:11 +00:00
kaf24@firebug.cl.cam.ac.uk ec61263b9c bitkeeper revision 1.1593 (429aec8bP8S_iGAVT8JuCkjdgPLCCg)
Manual update for rcu changes in 2.0-testing.
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-05-30 10:35:55 +00:00
kaf24@firebug.cl.cam.ac.uk 65ac2b823b bitkeeper revision 1.1592 (429ae8ff33cT5EmG9lUTaMO920vjKg)
Manual merge.
2005-05-30 10:20:47 +00:00
kaf24@firebug.cl.cam.ac.uk 1b3ead1336 bitkeeper revision 1.1159.258.154 (429ae8764I9WsS60DkRARFDRTCFT1Q)
Fix Xen idle loop to enter/exit tickless mode in same way as s390,
which interfaces properly with the RCU subsystem.

This includes a patch that fixes a race in the generic RCU code: it
was created by IBM for s390, and is being pushed upstream by them.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-05-30 10:18:30 +00:00
kaf24@firebug.cl.cam.ac.uk 24f634099d bitkeeper revision 1.1591 (4299ea37xQ46OSnnhSi-IyVI2uATLw)
Bit-scanning function take offset/size as an int, not a long, and
return an int. This allows some small optimisation in code produced
for x86/64.
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-05-29 16:13:43 +00:00
kaf24@firebug.cl.cam.ac.uk a32aebc212 bitkeeper revision 1.1590 (4299cc0csX0iKRxZs-S3QRYAtXSapQ)
Fix default root Makefile target.
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-05-29 14:05:00 +00:00
kaf24@firebug.cl.cam.ac.uk f67376a0dc bitkeeper revision 1.1589 (4299ca474xuIi4-NBh-bI0ilQ8Sw7w)
More bitop cleanups and code improvements.
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-05-29 13:57:27 +00:00
kaf24@firebug.cl.cam.ac.uk 9be9caedcb bitkeeper revision 1.1588 (42999d00gxHg_hThncByjrGk7labNA)
Tidy up and fix the bit-scanning operations. In particular,
find_{first,next}_[zero_]bit(addr, max) may return any value >= max
if no suitable bit is found. This is now also the case for first_cpu()
and next_cpu() (unlike Linux!). I don't believe that any callers
care -- they always check for >= NR_CPUS, and I fixed any_online_cpu()
separately. This reduces code size and will improve performance.
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-05-29 10:44:16 +00:00
maf46@burn.cl.cam.ac.uk e7f2dc7e85 bitkeeper revision 1.1587 (429914fc4wycjm1BHhUK9gZ0LL0sIg)
VMX domains should not have SHM_write_all enabled.
2005-05-29 01:03:56 +00:00
kaf24@firebug.cl.cam.ac.uk f6b93d0cc6 bitkeeper revision 1.1586 (4298e019QH28MgGwaw0jHPWEeEnyoA)
Clean up serial driver in Xen: separate ns16550 driver from generic
serial code.
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-05-28 21:18:17 +00:00
leendert@watson.ibm.com[kaf24] 87ade57ac4 bitkeeper revision 1.1585 (42988c63d2BDHoRycJzKDjIR50X5Sw)
[PATCH] [PATCH] VMX world switch does not handle all cases

The latest world switch modification does not handle all cases. Specifically,
when a partition enables CR0.PG|CR0.PE and performs a world switch at the
the same time. The patch below handles this case.

Signed-Off-By: Leendert van Doorn <leendert@watson.ibm.com>
2005-05-28 15:21:07 +00:00
kaf24@firebug.cl.cam.ac.uk aecd25280f bitkeeper revision 1.1584 (42984f31pkIsDJAxZBlaJgFWP9L2QA)
Assembly code cleanups. gcc doesn't need very many hints to get the
operand size and register names correct for both x86/32 and x86/64.
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-05-28 11:00:01 +00:00
kaf24@firebug.cl.cam.ac.uk 6f3176eb12 bitkeeper revision 1.1583 (42983f5dF7YXNy2i-9EFwNZ_eZer4g)
Clean up bitops.h: all the basic atomic bitops access a 32-bit
memory location, even on x86/64.
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-05-28 09:52:29 +00:00
kaf24@firebug.cl.cam.ac.uk 7d103c7505 bitkeeper revision 1.1582 (429838acDJZ12SHZ0oEfuJwBD4FoqQ)
Make cpuid() less fussy about the type of its pointer parameters.
This fixes the build with gcc4.
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-05-28 09:23:56 +00:00
kaf24@firebug.cl.cam.ac.uk 88fa6c0b24 bitkeeper revision 1.1581 (42983526-uYH3-ev0arYC-GCKopWHg)
This patch should make x86-64 XenLinux more stable. Please apply.

#   Cleanups and improving stability by avoiding complex fixup at
critical section.
#   Also fix error_entry with error set.
#   Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
#   Signed-off-by: Li B Xin <li.b.xin@intel.com>

I think the other was dropped (i.e. not applied in BK):
pfn_pte_ma.patch. Please apply it as well.
2005-05-28 09:08:54 +00:00
kaf24@firebug.cl.cam.ac.uk fe105abbd2 bitkeeper revision 1.1580 (429833a4G8EJ0jx6AoXE77WbZwwrQQ)
Debug build dumps guest state to emergency console if it crashes.
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-05-28 09:02:28 +00:00
leendert@watson.ibm.com[kaf24] 40855e46e0 bitkeeper revision 1.1579 (429831c4g3vltIzzOokMmu5rtSZAcQ)
[PATCH] [PATCH] ioemu: enable Cirrus VGA emulation

At some point the Cirrus VGA driver was commented out. Probably
for debugging. The patch below adds it back in. It works just fine.

Signed-Off-By: Leendert van Doorn <leendert@watson.ibm.com>
2005-05-28 08:54:28 +00:00
arun.sharma@intel.com[kaf24] a9797bef81 bitkeeper revision 1.1578 (429831b4aG5GnPML1pSzeV9PiOlFAA)
[PATCH] vmx-smsw.patch

Handle vmexits from the SMSW instruction correctly.

Signed-off-by: Arun Sharma <arun.sharma@intel.com>
2005-05-28 08:54:12 +00:00