aboutsummaryrefslogtreecommitdiffstats
path: root/extras/mini-os/xenbus
Commit message (Collapse)AuthorAgeFilesLines
* minios: add xenbus_read_uuidMatthew Fioravante2012-11-131-0/+27
| | | | | | | | | Similar to xenbus_read_integer, this function reads a xenstore path and parses it as a uuid. See include/xenbus.h for details. Signed-off-by: Matthew Fioravante <matthew.fioravante@jhuapl.edu> Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* minios: Remove unused variables warningsIan Campbell2012-02-201-21/+21
| | | | | | | | | s/DEBUG/printk/ in test_xenbus and all associated do_*_test+xenbus_dbg_message and always print the IRQ and MFN used by the xenbus on init. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Tested-by: John McDermott <john.mcdermott@nrl.navy.mil> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* mini-os: use BSD sys/queue.h instead of Linux list.hIan Campbell2012-01-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The latter is GPL which makes the whole of mini-os GPL rather than BSD as intended. In tree users are all GPL or GPL-compatible but we should fix this so that mini-os is BSD. Do so by using the same BSD sys/queue.h as we use in libxl. Tested with the builtin mini-os test app and qemu stubdomain, both of which appear to still function as expected. Move tools/libxl/external and the associated sed script to tools/include/xen-external to allow more sensible access from mini-os. Also add s/NULL/0/ in the sed script due to NULL not always being defined in stubdom code when mini-os/wait.h is included. As well as the obvious ABI changes there are a few API updates associated with the change: - struct rw_semaphore.wait_list is unused - remove_waiter needs to take the wait_queue_head The latter requires a qemu update, so there is also a QEMU_TAG update in this changeset. I sprinkled some extra-emacs local variables around the files I edited which didn't have them. I think this should be backported to the stable branches since external users of mini-os may have been mislead into thinking they could safely link mini-os against GPL-incompatible code. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
* mini-os: Fix xenbus_switch_state's transaction retryKeir Fraser2010-04-071-1/+3
| | | | | | | When xenbus_switch_state has to retry the transaction which it just created, it needs to recreate another one. Clearing xbt triggers it. Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
* mini-os: Fix memory leaks in blkfront, netfront, pcifront, etc.Keir Fraser2009-12-141-1/+2
| | | | | | | | | The return value of Xenbus routines xenbus_transaction_start(), xenbus_printf(), xenbus_transaction_end(), etc. is a pointer of error message. This pointer should be passed to free() to release the allocated memory when it is no longer needed. Signed-off-by: Yu Zhiguo <yuzg@cn.fujitsu.com>
* pcifront: implement dynamic connections and disconnectionsKeir Fraser2009-11-131-1/+4
| | | | | | | | | | this patch implements dynamic connections and disconnections in pcifront. This feature is required to properly support pci hotplug, because when no pci devices are assigned to a guest, xend will remove the pci backend altogether. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
* stubdom/minios: re-structure headersKeir Fraser2009-10-011-11/+11
| | | | | | | | | As part of making stubdom usable on NetBSD, it is necessary to restructure the minios headers to avoid conflicts with NetBSD's crossbuild toolchain. Signed-off-by: Christoph Egger <Christoph.Egger@amd.com> Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
* minios: refactor xenbus state machineKeir Fraser2009-06-031-0/+64
| | | | | | | | Implement xenbus_wait_for_state_change and xenbus_switch_state and change the various frontends to use the two functions and do proper error checking. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
* mini-os: Make utility function get_self_id() in fs-front.c public.Keir Fraser2008-12-161-0/+11
| | | | Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
* mini-os: make xenbus_read_integer and xenbus_printf take const stringsKeir Fraser2008-08-271-3/+3
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* stubdom: use host's gccKeir Fraser2008-07-041-21/+32
| | | | | | | | This makes stubdom use the host's gcc instead of downloading/compiling binutils+gcc. That requires a bunch of changes and even uncovered a few bugs, but saves a lot of time. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: add proper shutdown facilitiesKeir Fraser2008-06-091-4/+13
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: fix thread safety of xenbus watches by requiring callers toKeir Fraser2008-05-061-14/+21
| | | | | | | provide their own queue of events, because else we can not dispatch to watchers running in parallel. 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-181-0/+1
| | | | | | | | | | | | | | | 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>
* 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>
* minios: add xenbus token support and separate watch event queuesKeir Fraser2008-01-171-27/+103
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: use ASSERT for BUG_ONKeir Fraser2008-01-171-4/+0
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: Revert 16206:7b5b65fbaf61 (xenbus wait fixup)Keir Fraser2007-11-271-1/+0
| | | | Already fixed by 14432:f40079acf646.
* minios: xenbus wait fixupKeir Fraser2007-10-241-0/+1
| | | | | From: Samuel Thibault <samuel.thibault@xensource.com> Signed-off-by: Keir Fraser <keir@xensource.com>
* minios: Fix xenbus request-id release.Keir Fraser2007-04-061-0/+2
| | | | | From: Jacob Gorm Hansen <jacobg@diku.dk> Signed-off-by: Keir Fraser <keir@xensource.com>
* minios: Various small fixes.kaf24@firebug.cl.cam.ac.uk2007-03-191-1/+2
| | | | | | | | - Fixed type of variables in hypervisor.c. - Fixed not removing a waiter from watch_queue. - Make wait_for_watch() global accessible. Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com>
* minios: Fix xenbus-id allocation loop.kfraser@localhost.localdomain2007-02-191-1/+1
| | | | Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com>
* minios: Fix bug in xenbus implementation.kfraser@localhost.localdomain2007-02-021-0/+2
| | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* [MINIOS] Fix compile warnings with -O.kfraser@localhost.localdomain2007-01-191-1/+1
| | | | Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com>
* [MINIOS] Support xenbus watches.kfraser@localhost.localdomain2007-01-121-7/+77
| | | | Signed-off-by: Jacob Gorm Hansen <jacobg@diku.dk>
* [MINI-OS] Clean up event channel types in mini-os.sos22@douglas.cl.cam.ac.uk2006-07-281-1/+2
| | | | | Signed-off-by: John D. Ramsdell <ramsdell@mitre.org> Signed-off-by: Steven Smith <sos22@cam.ac.uk>
* [MINIOS]Events handling cleaned up. The interface extended to providekfraser@localhost.localdomain2006-07-051-2/+3
| | | | | | | void* pointer to handlers. Signed-off-by: Steven Smith <sos22@cam.ac.uk> Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
* [MINIOS] Implement XenBus transactions in MiniOS.kfraser@localhost.localdomain2006-07-051-22/+81
| | | | | Signed-off-by: Steven Smith <sos22@cam.ac.uk>
* Expand test_xenbus a little.sos22@douglas.cl.cam.ac.uk2006-06-131-0/+35
| | | | Signed-off-by: Steven Smith <sos22@cam.ac.uk>
* This patch exposes XenBus functions to Mini-OS applications.sos22@douglas.cl.cam.ac.uk2006-06-131-25/+130
| | | | Signed-of-by: John D. Ramsdell <ramsdell@mitre.org>
* The patch removes old Xenbus files, fixes 0 length mmu_updates table bug kaf24@firebug.cl.cam.ac.uk2006-03-244-1029/+0
| | | | | | | | | (bugfix by Melvin Anderson) and adds missing console.h header file (again spotted by Melvin). Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
* Fix mini-os xenbus.kaf24@firebug.cl.cam.ac.uk2006-03-241-0/+387
| | | | | | | From: Grzegorz Milos <gm281@cam.ac.uk> Signed-off-by: Keir Fraser <keir@xensource.com>
* Merge in the newer Xenbus implementation from Linux to the Mini-OS. The newkaf24@firebug.cl.cam.ac.uk2005-12-083-319/+509
| | | | | | | | | | | | | | version compiles and starts up, but I'm not really sure how to test the new xenbus implementation. * Added unbind_evtchn * Copied parts of the Linux spinlock implementation to make the changes to xenbus compared to Linux smaller. Also added a dummy rwsem implementation. * Updated the xenbus-files Signed-off-by: Simon Kagstrom <simon.kagstrom@bth.se>
* I've created a patch to get the mini-os to compile in Xen-unstable. The patchkaf24@firebug.cl.cam.ac.uk2005-10-271-1/+6
| | | | | | | | | | is pretty big, but this is mostly because I've replaced hypervisor.h with the hypercalls.h header file from Linux (which seems easier to maintain anyway). I've ignored X86_64. Signed-off-by: Simon Kagstrom <simon.kagstrom@bth.se>
* Remove extraneous semicolon.emellor@ewan2005-09-201-1/+1
| | | | | Signed-off-by: Ewan Mellor <ewan@xensource.com>
* Xenbus implementation ported from Linux to Mini-os, simple thread support ↵kaf24@firebug.cl.cam.ac.uk2005-09-094-0/+834
introduced to simplify the porting. 64 bit version of Mini-os now compiles, but does not work because of the pagetables and some bits of scheduler not being written. Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>