aboutsummaryrefslogtreecommitdiffstats
path: root/extras/mini-os/include/x86
Commit message (Collapse)AuthorAgeFilesLines
* mini-os: eliminate duplicated definition of spin_unlock_waitChen Baozi2013-07-041-1/+1
| | | | | Signed-off-by: Chen Baozi <baozich@gmail.com> Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
* [minios] Add xenbus shutdown control supportSamuel Thibault2012-11-302-0/+16
| | | | | | | | | | | | Add a thread watching the xenbus shutdown control path and notifies a wait queue. Add HYPERVISOR_shutdown convenient inline for minios shutdown. Add proper shutdown to the minios test application. Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Committed-by: Keir Fraser <keir@xen.org>
* minios: Disable the mfn_is_ram() check, it doesn't work correctly on all systemsMatthew Fioravante2012-10-081-1/+0
| | | | | | | | | This patch disables the mfn_is_ram check in mini-os. The current check is insufficient and fails on some systems with larger than 4gb memory. Signed-off-by: Matthew Fioravante <matthew.fioravante@jhuapl.edu> Acked-by: Samuel Thibault <samuel.thibault@ens-lyons.org> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* minios: Add endian, byteswap, and wordsize macros to mini-osMatthew Fioravante2012-10-083-0/+10
| | | | | | | | This patch addes byte swapping macros and endian support to mini-os. Signed-off-by: Matthew Fioravante <matthew.fioravante@jhuapl.edu> Acked-by: Samuel Thibault <samuel.thibault@ens-lyons.org> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* minios: do not export {test,set,clear}_bit etc to applicationsIan Campbell2011-02-071-1/+2
| | | | | | | | | | | | | | | Fixes ioemu stubdom build: CC i386-stubdom/piix4acpi.o [...]/stubdom/ioemu/hw/piix4acpi.c:272: error: expected ')' before '?' token [...]/stubdom/ioemu/hw/piix4acpi.c:277: error: conflicting types for 'set_bit' [...]/stubdom/../extras/mini-os/include/x86/mini-os/os.h:396: error: previous definition of 'set_bit' was here [...]/stubdom/ioemu/hw/piix4acpi.c:282: error: conflicting types for 'clear_bit' [...]/stubdom/../extras/mini-os/include/x86/mini-os/os.h:414: error: previous definition of 'clear_bit' was here [...]/stubdom/ioemu/hw/piix4acpi.c: In function 'gpe_sts_write': Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* minios: implement xc_map_foreign_bulkKeir Fraser2010-01-181-3/+3
| | | | | | | In order to do so it modifies map_frames_ex and do_map_frames to take an int *err as parameter and return any error that way. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
* minios: switch to C99 integer typesKeir Fraser2009-07-153-4/+4
| | | | | | This is a necessary step to make minios build on NetBSD. Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
* minios: allow to allocate machine contiguous pagesKeir Fraser2009-03-131-0/+3
| | | | | | | | This is a port of XenLinux xen_alloc_contig_memory() to mini-os. A sufficiently privileged mini-os guest can exchange a small number of its pages with machine contiguous pages. Signed-off-by: Rolf Neugebauer <rolf.neugebauer@netronome.com>
* minios: add ioremap/iounmapKeir Fraser2009-03-021-0/+5
| | | | | | | | Add ioremap and iounmap functions to minios. Also move some unmapping code from and clean up mem_test. Signed-off-by: Rolf Neugebauer <rolf.neugebauer@netronome.com> Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
* mini-os: adding some missing posix function declarationsKeir Fraser2008-09-171-0/+1
| | | | | | | Adding some missing posix function declarations, to get rid of some qemu-remote compile time warnings. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
* mini-os: add stack walking debugKeir Fraser2008-07-181-0/+1
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* stubdom: fixes to compile with qemu-xenKeir Fraser2008-07-105-7/+7
| | | | | | | | | | This adds fixes to the stub domain build into compiling Ian Jackson's qemu-xen. The most notable change is that mini-os headers now #include each other through a mini-os/ prefix, so that we can turn all -I into -isystem and still be sure that we include Mini-OS headers (and not qemu's console.h or blktaplib's list.h for instance...). Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* stubdom: use host's gccKeir Fraser2008-07-041-1/+1
| | | | | | | | 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>
* Add PV-GRUBKeir Fraser2008-06-181-0/+2
| | | | | | | | | | | This fetches GRUB1 sources, applies the {graphical, print function, save default, and ext3_256byte} patches from debian, and applies a patch to make it work on x86_64 and port it to Mini-OS. By using libxc, PV-GRUB can then "kexec" the loaded kernel from inside the domain itself, hence permitting to avoid the security-concerned pygrub. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: Fix >4GB machine addressesKeir Fraser2008-06-101-11/+11
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: add proper shutdown facilitiesKeir Fraser2008-06-091-1/+3
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* stubdom: complete libxc supportKeir Fraser2008-05-231-5/+0
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* i386: Remove non-PAE hypervisor build target.Keir Fraser2008-05-083-40/+4
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* minios: call do_hypervisor_callback directly from force_evtchn_callbackKeir Fraser2008-04-161-1/+0
| | | | | | instead of unnecessarily going through the hypervisor. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* Add stubdomain support. See stubdom/README for usage details.Keir Fraser2008-02-125-15/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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: permit blkfront to write from mapped memoryKeir Fraser2008-01-221-0/+29
| | | | | | by adding a virtual_to_mfn macro Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: Fix x86_32 compilationKeir Fraser2008-01-221-1/+1
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: support COW for a zero pageKeir Fraser2008-01-182-0/+8
| | | | | 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-181-0/+1
| | | | | | | | 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-181-1/+1
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* minios: make stack size configurableKeir Fraser2008-01-172-1/+20
| | | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com> Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
* minios: Add noreturn attribute to do_exitKeir Fraser2008-01-171-1/+1
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* [Mini-OS] Fix x86 arch_switch_threadKeir Fraser2007-11-231-37/+2
| | | | | | | | | Fix x86 arch_switch_thread by making it pure assembly. There were missing general register clobbers for x86_64, and BP should theorically be clobbered too, but gcc does not believe that, so the only simple safe solution is to use pure assembly. Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
* [Mini-OS] Optimize get_current()Keir Fraser2007-11-231-2/+3
| | | | | | | Let gcc perform the computation with SP itself, leading to yet better code. Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
* minios: Fix get_current() inline asm.Keir Fraser2007-10-161-2/+2
| | | | | From: Samuel Thibault <samuel.thibault@xensource.com> Signed-off-by: Keir Fraser <keir@xensource.com>
* [MINIOS] Added domctl and sysctl hypercalls to thekfraser@localhost.localdomain2007-01-192-0/+28
| | | | | | | architecture-specific header files. Also increased the __XEN_INTERFACE_VERSION__ to 0x00030205. Signed-off-by: Derek Murray <Derek.Murray@cl.cam.ac.uk>
* [MINIOS] Update __XEN_INTERFACE_VERSION__kfraser@localhost.localdomain2007-01-122-16/+0
| | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* [MINIOS] Switched to new interface for HYPERVISOR_sched_op().kfraser@localhost.localdomain2006-11-272-2/+2
| | | | Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com>
* [MINIOS] Refactored mm.c and sched.c. x86 arch specific code got moved tokfraser@localhost.localdomain2006-11-222-0/+267
| | | | | | | | | arch/x86/mm.c and arch/x86/sched.c. Header files were also refactored: arch specific code got moved to include/x86/arch_mm.h and include/x86/sched_mm.h. Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com> Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
* [MINIOS] Refactor spinlock header for multi-arch support.kfraser@localhost.localdomain2006-11-171-33/+5
| | | | | | | | I separated the spinlock parts special to the x86 architecture and moved these to include/x86/arch_spinlock.h. The common code is now in include/spinlock.h. Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com>
* [MINIOS] Event channel hypercall update for 64-bit guests.kfraser@localhost.localdomain2006-11-171-2/+2
| | | | Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
* [MINIOS] Move initialisation of events (masking event channels)kfraser@localhost.localdomain2006-11-171-0/+2
| | | | | | | earlier during the boot process. Otherwise 64bit guests would sometimes crash. Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
* [MINIOS] Added a new file arc/x86/setup.c and moved some x86 specifickfraser@localhost.localdomain2006-09-231-0/+5
| | | | | | | initialization stuff from kernel.c there. Two new functions are added to handle this. Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com>
* [MINIOS] Fix to use new event-channel API properly.kaf24@firebug.cl.cam.ac.uk2006-09-151-2/+2
| | | | Signed-off-by: Mark Williamson <mark.williamson@cl.cam.ac.uk>
* [MINIOS] A first step to re-architecture mini-os for a port to ia64.kfraser@localhost.localdomain2006-08-105-0/+1407
Create architecture specific directories below mini-os for sources and below mini-os/include for headers. Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com>