Clean up vbd probing, and include hardware sector size in the probe
information. blkback ensures that all requests are aligned to
hardware sector size and returns error if this is not so.
In blkfront we now have a request_queue per vbd, with hardsect_size
set appropriately.
It is now once again possible to mount a CDROM in a domU.
Signed-off-by: Keir Fraser <keir@xensource.com>
Cleaner GDT interface. Xen now reserves the last 2 pages of a full-size
(16 page) GDT. A guest can register a GDT with up to 7k entries. Xen
automatically makes the GDT up to max size with empty page mappings,
and turns page faults in that area to #GP(selector).
Signed-off-by: Keir Fraser <keir@xensource.com>
Remove generic 'fast trap' from the Xen public interfaces. Internally
within Xen, we automatically set up direct trap for int 0x80, which is
the only 'fast trap' vector that we ever supported anyway.
Signed-off-by: Keir Fraser <keir@xensource.com>
Fix multi-VCPU TLB shootdown interface -- specify pointer to VCPU
bitmap, so it is read at time of flush and not before (which might be
too early, before all updates are flushed, leading to races). Also
add selective multi-VCPU shootdown capability to update_va_mapping()
and use this to make ptep_set_access_flags() a single hypercall.
Signed-off-by: Keir Fraser <keir@xensource.com>
Split mmu_update() hypercall into mmu_update() and mmuext_op().
All MMUEXT_* ops are now done via the latter hypercall. This allows
more arguments to be passed in a nicer way to mmuext operations.
Linux 2.4, 2.6 and control tools all use the new interface. The BSDs
will need some work, but shouldn't be too hard (and they can be moved
to writable pagetables at the same time :-) ).
Signed-off-by: Keir Fraser <keir@xensource.com>
More x86_64 fixes/cleanups. NB. update_va_mapping hypercalls now
accept a virtual address, *not* a "virtual page number".
Signed-off-by: keir.fraser@cl.cam.ac.uk
Rename Xen public interfaces.
1. hypervisor-if.h is now xen.h
2. hypervisor-ifs/ directory is now:
<include/public/...> in Xen
<asm/xen-public/...> in Linux
<xen/...> in user space
sync w/ Linux version:
1.18 04/10/15 18:04:37+01:00 sos22@douglas.cl.cam.ac.uk 20 19 128/54/501
It turns out that Xen hypercalls actually clobber the registers used to
pass in their arguments (some of the time, at least). Correct the
asm in hypervisor.h to allow for this.
1.17 04/10/07 17:30:37+01:00 kaf24@freefall.cl.cam.ac.uk 19 18 79/32/476
Grant-table interface redone.