aboutsummaryrefslogtreecommitdiffstats
path: root/extras
Commit message (Collapse)AuthorAgeFilesLines
* stubdom: make use of PVFB resize eventKeir Fraser2008-04-163-33/+59
| | | | | | | | which with the offset support also permits to expose the VGA vram and non-shared vram throught PVFB at the same time, switching between both as appropriate. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: simplify schedule()Keir Fraser2008-04-161-91/+43
| | | | | | | | - Merge the search, wakeup, and timeout loops. - Avoid unnecessarily switching to the idle thread. - Perform stack release _after_ we get out of it. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: call do_hypervisor_callback directly from force_evtchn_callbackKeir Fraser2008-04-164-13/+18
| | | | | | instead of unnecessarily going through the hypervisor. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* stubdom: sparse application's BSS by linking it separately first, putKeir Fraser2008-04-1612-20/+88
| | | | | | | markers at its beginning and end, and then link with mini-os. That permits to stick a bit more to upstream qemu. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* stubdom: add asynchronous disk flush supportKeir Fraser2008-04-053-108/+121
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: Fix xfree() bug.Keir Fraser2008-04-021-7/+7
| | | | | | | | It has to check first if the memory to free is so big as to be freed directly by free_pages. mini-os domains crash without this patch if vfb is misconfigured. Signed-off-by: INAKOSHI Hiroya <inakoshi.hiroya@jp.fujitsu.com>
* mini-os: Fix build error.Keir Fraser2008-03-261-1/+1
| | | | Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
* minios: blkfront_aio_poll may reenterKeir Fraser2008-03-262-13/+16
| | | | | | | | | | if the callback calls blkfront_sync for instance. In such a case, we would see responses and hence release grants several times. We need to be more synchronous and stop when we detect that we have re-entered. This fixes HVM restore with stubdomains. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: more assertionsKeir Fraser2008-03-263-1/+27
| | | | | | | | - assert that we never allocate or free the same grant twice - assert that network packets do not exceed a page - assert that incoming network event IDs make sense Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* mini-os: free dropped lwip packetsKeir Fraser2008-03-251-1/+4
| | | | | | When lwIP can not accept a packet, it is up to us to free it. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* stubdom: fix x86_64 irq stack sizeKeir Fraser2008-03-251-5/+3
| | | | | | by making it use STACK_SIZE like other places. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: get VBD CD/removable/RO infoKeir Fraser2008-03-203-3/+15
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* stubdom: add C example targetKeir Fraser2008-03-191-1/+6
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* stubdom: fix compilationKeir Fraser2008-03-191-1/+0
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: update READMEKeir Fraser2008-03-191-8/+24
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: Automatically set IP from XenStore informationKeir Fraser2008-03-195-9/+32
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: avoid putting trailing \0 in xenstoreKeir Fraser2008-03-181-1/+1
| | | | | | | xenstore expects to get the exact amount of data, without the trailing \0. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: Fix lost eventsKeir Fraser2008-03-189-49/+35
| | | | | | | | | | | | | | | evtchn_bind_interdomain used to clear any already pending event before binding a handler, because else the handler may be called before it is ready. That however leads to missed events, which I had to workaround for the HVM case. This changes the semantics of bind_evtchn, and thus of all the event channel binding functions (bind_virq, evtchn_alloc_unbound, evtchn_bind_interdomain) into not unmasking the event itself, hence letting the caller initialize properly before unmasking the port (e.g. record the port number in an appropriate place). Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* stubdom: add support for reading the command line from the configKeir Fraser2008-03-181-34/+40
| | | | | | file, and merge the dmargs with it in the case of qemu. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* stubdom: Add support for select() call with NULL arguments.Keir Fraser2008-03-181-6/+26
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* Stubdom: add support for file creation.Keir Fraser2008-03-182-2/+26
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* mini-os: fbfront shouldn't send unsolicited updatesKeir Fraser2008-03-031-1/+8
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* stubdom: Fix compilation after abs_z to rel_z changeKeir Fraser2008-02-281-3/+3
| | | | | From: Samuel Thibault <samuel.thibault@eu.citrix.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* stubdom: use PVFB so as to e.g. permit SDL displayKeir Fraser2008-02-282-8/+7
| | | | | | | | This adds support in ioemu for PVFB frontend as stubdomain display. This permits for instance to use SDL in dom0 to perform the eventual display. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: have xenbus_printf return the error returned by xenbus_writeKeir Fraser2008-02-271-3/+1
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* stubdom: fix x86_32 compilation by __moddi3 from FreeBSDKeir Fraser2008-02-261-0/+23
| | | | | | (like has been done previously for umoddi3 etc.) Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: add PVFB supportKeir Fraser2008-02-265-0/+683
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: drop unused xenblk_rxidx functionKeir Fraser2008-02-141-5/+0
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* stubdom: optimize block io completion polling by not polling all theKeir Fraser2008-02-141-0/+5
| | | | | | time; only when some requests have completed. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* Mini-OS: Fix alignment in maybe_split()Keir Fraser2008-02-141-7/+10
| | | | | Needed on ia64, speeds up on x86. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* Add stubdomain support. See stubdom/README for usage details.Keir Fraser2008-02-1257-103/+2324
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Move PAGE_SIZE and STACK_SIZE into __PAGE_SIZE and __STACK_SIZE in arch_limits.h so as to permit getting them from there without pulling all the internal Mini-OS defines. - Setup a xen-elf cross-compilation environment in stubdom/cross-root - Add a POSIX layer on top of Mini-OS by linking against the newlib C library and lwIP, and implementing the Unixish part in mini-os/lib/sys.c - Cross-compile zlib and libpci too. - Add an xs.h-compatible layer on top of Mini-OS' xenbus. - Cross-compile libxc with an additional xc_minios.c and a few things disabled. - Cross-compile ioemu with an additional block-vbd, but without sound, tpm and other details. A few hacks are needed: - Align ide and scsi buffers at least on sector size to permit direct transmission to the block backend. While we are at it, just page-align it to possibly save a segment. Also, limit the scsi buffer size because of limitations of the block paravirtualization protocol. - Allocate big tables dynamically rather that letting them go to bss: when Mini-OS gets installed in memory, bss is not lazily allocated, and doing so during Mini-OS is unnecessarily trick while we can simply use malloc. - Had to change the Mini-OS compilation somehow, so as to export Mini-OS compilation flags to the Makefiles of libxc and ioemu. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: Fix blkfront grant map leakKeir Fraser2008-02-072-3/+4
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: Support net/block backend in domUKeir Fraser2008-02-072-25/+29
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: Fix bug when blkfront reading into zero-mapped bufferKeir Fraser2008-01-291-1/+6
| | | | | | | by just poking the page. No need to use virtual_to_mfn() for the ring since that is a real page. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: Fix ia64 build.Keir Fraser2008-01-283-1/+126
| | | | Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
* minios: permit blkfront to write from mapped memoryKeir Fraser2008-01-231-1/+1
| | | | | | Missing call to virtual_to_mfn Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: make allocation of page tables for ondemand mapping lazyKeir Fraser2008-01-231-62/+109
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: permit blkfront to write from mapped memoryKeir Fraser2008-01-223-1/+32
| | | | | | by adding a virtual_to_mfn macro Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: POSIX fixesKeir Fraser2008-01-2212-29/+70
| | | | | | Fixes some functions which are POSIX. Also make them ifndef HAVE_LIBC. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: fix case when _text is not 0Keir Fraser2008-01-221-5/+5
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: Fix x86_32 compilationKeir Fraser2008-01-224-3/+4
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: add blkfront testingKeir Fraser2008-01-223-0/+181
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios, blkfront: set default block path.Keir Fraser2008-01-221-2/+2
| | | | | | remove unnecessary path head stripping. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: Add align support to _xmalloc().Keir Fraser2008-01-222-39/+91
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: add lwIP 1.3.0 supportKeir Fraser2008-01-2111-1/+914
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: make time interface POSIXKeir Fraser2008-01-216-31/+64
| | | | | | | timespec uses tv_sec and tv_nsec too. gettimeofday takes a tz argument. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: do not exit if FS backend not found.Keir Fraser2008-01-181-4/+1
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: support COW for a zero pageKeir Fraser2008-01-186-1/+66
| | | | | Permits to support sparse data. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: extend map_frames into being able to map a series ofKeir Fraser2008-01-185-23/+56
| | | | | | | | contiguous frames, or the same frame several times, aligned, from another domain, with specific protection, and with potential failures. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: set text and rodata read-only, free unused pages 0 and 1Keir Fraser2008-01-185-6/+91
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>