diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2008-06-09 13:26:30 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2008-06-09 13:26:30 +0100 |
commit | c68ffdc4fa75f9ed29ccdea16c9a910442e2fc20 (patch) | |
tree | ec2dc82b665f6046a46a4c90b5397fe51f17fac4 /extras/mini-os/include | |
parent | 0ba222a6fd5c72bda66eb3678c44fe3e43bbc6c0 (diff) | |
download | xen-c68ffdc4fa75f9ed29ccdea16c9a910442e2fc20.tar.gz xen-c68ffdc4fa75f9ed29ccdea16c9a910442e2fc20.tar.bz2 xen-c68ffdc4fa75f9ed29ccdea16c9a910442e2fc20.zip |
minios: add proper shutdown facilities
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Diffstat (limited to 'extras/mini-os/include')
-rw-r--r-- | extras/mini-os/include/console.h | 1 | ||||
-rw-r--r-- | extras/mini-os/include/events.h | 1 | ||||
-rw-r--r-- | extras/mini-os/include/gnttab.h | 1 | ||||
-rw-r--r-- | extras/mini-os/include/ia64/os.h | 3 | ||||
-rw-r--r-- | extras/mini-os/include/ia64/traps.h | 4 | ||||
-rw-r--r-- | extras/mini-os/include/kernel.h | 7 | ||||
-rw-r--r-- | extras/mini-os/include/mm.h | 1 | ||||
-rw-r--r-- | extras/mini-os/include/netfront.h | 1 | ||||
-rw-r--r-- | extras/mini-os/include/time.h | 1 | ||||
-rw-r--r-- | extras/mini-os/include/x86/os.h | 4 | ||||
-rw-r--r-- | extras/mini-os/include/xenbus.h | 3 |
11 files changed, 25 insertions, 2 deletions
diff --git a/extras/mini-os/include/console.h b/extras/mini-os/include/console.h index ac9cb53e7b..4a61f1aaa0 100644 --- a/extras/mini-os/include/console.h +++ b/extras/mini-os/include/console.h @@ -51,6 +51,7 @@ void xencons_tx(void); void init_console(void); void console_print(char *data, int length); +void fini_console(void); /* Low level functions defined in xencons_ring.c */ extern struct wait_queue_head console_queue; diff --git a/extras/mini-os/include/events.h b/extras/mini-os/include/events.h index ff202e38fe..9ffb35d320 100644 --- a/extras/mini-os/include/events.h +++ b/extras/mini-os/include/events.h @@ -45,5 +45,6 @@ static inline int notify_remote_via_evtchn(evtchn_port_t port) return HYPERVISOR_event_channel_op(EVTCHNOP_send, &op); } +void fini_events(void); #endif /* _EVENTS_H_ */ diff --git a/extras/mini-os/include/gnttab.h b/extras/mini-os/include/gnttab.h index f952442955..acd6c39f8c 100644 --- a/extras/mini-os/include/gnttab.h +++ b/extras/mini-os/include/gnttab.h @@ -11,5 +11,6 @@ grant_ref_t gnttab_grant_transfer(domid_t domid, unsigned long pfn); unsigned long gnttab_end_transfer(grant_ref_t gref); int gnttab_end_access(grant_ref_t ref); const char *gnttabop_error(int16_t status); +void fini_gnttab(void); #endif /* !__GNTTAB_H__ */ diff --git a/extras/mini-os/include/ia64/os.h b/extras/mini-os/include/ia64/os.h index 2ae5331393..bf3785fc82 100644 --- a/extras/mini-os/include/ia64/os.h +++ b/extras/mini-os/include/ia64/os.h @@ -35,6 +35,7 @@ #include "sal.h" #include "pal.h" #include "hypervisor.h" +#include <kernel.h> typedef uint64_t paddr_t; /* Physical address. */ @@ -46,9 +47,9 @@ typedef uint64_t caddr_t; /* rr7/kernel memory address. */ #include "mm.h" -void do_exit(void) __attribute__((noreturn)); void arch_init(start_info_t *si); /* in common.c */ void arch_print_info(void); /* in common.c */ +void arch_fini(void); /* Size of xen_ia64_boot_param.command_line */ diff --git a/extras/mini-os/include/ia64/traps.h b/extras/mini-os/include/ia64/traps.h index 4c5e7be527..e79a952aec 100644 --- a/extras/mini-os/include/ia64/traps.h +++ b/extras/mini-os/include/ia64/traps.h @@ -38,6 +38,10 @@ inline static void trap_init(void) { //printk("trap_init() until now not needed!\n"); } +inline static void trap_fini(void) +{ + //printk("trap_fini() until now not needed!\n"); +} #endif /* !defined(__ASSEMBLY__) */ diff --git a/extras/mini-os/include/kernel.h b/extras/mini-os/include/kernel.h new file mode 100644 index 0000000000..b36f172ed8 --- /dev/null +++ b/extras/mini-os/include/kernel.h @@ -0,0 +1,7 @@ +#ifndef _KERNEL_H_ +#define _KERNEL_H_ + +extern void do_exit(void) __attribute__((noreturn)); +extern void stop_kernel(void); + +#endif /* _KERNEL_H_ */ diff --git a/extras/mini-os/include/mm.h b/extras/mini-os/include/mm.h index 28fb727f9f..7c8588ccf8 100644 --- a/extras/mini-os/include/mm.h +++ b/extras/mini-os/include/mm.h @@ -75,5 +75,6 @@ extern unsigned long heap, brk, heap_mapped, heap_end; #endif int free_physical_pages(xen_pfn_t *mfns, int n); +void fini_mm(void); #endif /* _MM_H_ */ diff --git a/extras/mini-os/include/netfront.h b/extras/mini-os/include/netfront.h index 526dc94b5c..681ebf2c0f 100644 --- a/extras/mini-os/include/netfront.h +++ b/extras/mini-os/include/netfront.h @@ -18,6 +18,7 @@ extern struct wait_queue_head netfront_queue; * N.B. _must_ be called from a thread; it's not safe to call this from * app_main(). */ void start_networking(void); +void stop_networking(void); void networking_set_addr(struct ip_addr *ipaddr, struct ip_addr *netmask, struct ip_addr *gw); #endif diff --git a/extras/mini-os/include/time.h b/extras/mini-os/include/time.h index e28bf171d7..250af5c5cf 100644 --- a/extras/mini-os/include/time.h +++ b/extras/mini-os/include/time.h @@ -54,6 +54,7 @@ typedef long suseconds_t; /* prototypes */ void init_time(void); +void fini_time(void); s_time_t get_s_time(void); s_time_t get_v_time(void); u64 monotonic_clock(void); diff --git a/extras/mini-os/include/x86/os.h b/extras/mini-os/include/x86/os.h index 1cab0a73db..39faa0395d 100644 --- a/extras/mini-os/include/x86/os.h +++ b/extras/mini-os/include/x86/os.h @@ -18,10 +18,10 @@ #ifndef __ASSEMBLY__ #include <types.h> #include <hypervisor.h> +#include <kernel.h> #define USED __attribute__ ((used)) -extern void do_exit(void) __attribute__((noreturn)); #define BUG do_exit #endif @@ -61,9 +61,11 @@ extern void do_exit(void) __attribute__((noreturn)); extern shared_info_t *HYPERVISOR_shared_info; void trap_init(void); +void trap_fini(void); void arch_init(start_info_t *si); void arch_print_info(void); +void arch_fini(void); diff --git a/extras/mini-os/include/xenbus.h b/extras/mini-os/include/xenbus.h index 2ed370f252..f1585c9f70 100644 --- a/extras/mini-os/include/xenbus.h +++ b/extras/mini-os/include/xenbus.h @@ -90,4 +90,7 @@ char* xenbus_printf(xenbus_transaction_t xbt, char* node, char* path, char* fmt, ...); +/* Reset the XenBus system. */ +void fini_xenbus(void); + #endif /* XENBUS_H__ */ |