From: Martin Lucina Date: Fri, 7 Nov 2014 16:52:39 +0000 (+0100) Subject: Clean up Mini-OS public namespace X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=4a8991242b6dc5881fc72a8c37a914afe54de042;p=rumpuser-xen.git Clean up Mini-OS public namespace Pass 2 of X in cleaning up Mini-OS namespace: - All Mini-OS functions called by rumprun-xen are renamed to minios_* or _minios_* for strictly internal functions, except those in the blkfront_*, netfront_*, pcifront_* and xenbus_* driver namespaces. - In the case of drivers, eg. init|shutdown_blkfront are renamed to blkfront_*. - All global variables are either manually made local, or placed under the _minios_* namespace, with the exception of HYPERVISOR_shared_info, and those variables under driver namespaces kept above. - All callers are updated to use the new names. Where it makes sense, macros such as alloc_page are also renamed into the minios_ namespace. Signed-off-by: Martin Lucina --- diff --git a/include/mini-os/blkfront.h b/include/mini-os/blkfront.h index fd5eb18..18de25b 100644 --- a/include/mini-os/blkfront.h +++ b/include/mini-os/blkfront.h @@ -29,7 +29,7 @@ struct blkfront_info int barrier; int flush; }; -struct blkfront_dev *init_blkfront(char *nodename, struct blkfront_info *info); +struct blkfront_dev *blkfront_init(char *nodename, struct blkfront_info *info); void blkfront_aio(struct blkfront_aiocb *aiocbp, int write); #define blkfront_aio_read(aiocbp) blkfront_aio(aiocbp, 0) #define blkfront_aio_write(aiocbp) blkfront_aio(aiocbp, 1) @@ -39,7 +39,7 @@ void blkfront_io(struct blkfront_aiocb *aiocbp, int write); void blkfront_aio_push_operation(struct blkfront_aiocb *aiocbp, uint8_t op); int blkfront_aio_poll(struct blkfront_dev *dev); void blkfront_sync(struct blkfront_dev *dev); -void shutdown_blkfront(struct blkfront_dev *dev); +void blkfront_shutdown(struct blkfront_dev *dev); extern struct wait_queue_head blkfront_queue; diff --git a/include/mini-os/console.h b/include/mini-os/console.h index 49990b9..efb633c 100644 --- a/include/mini-os/console.h +++ b/include/mini-os/console.h @@ -63,7 +63,7 @@ struct consfront_dev { void print(int direct, const char *fmt, va_list args); -void printk(const char *fmt, ...); +void minios_printk(const char *fmt, ...); void xprintk(const char *fmt, ...); void panic(const char *fmt, ...); @@ -73,7 +73,7 @@ void xencons_rx(char *buf, unsigned len, struct pt_regs *regs); void xencons_tx(void); void init_console(void); -void console_print(struct consfront_dev *dev, char *data, int length); +void minios_console_print(struct consfront_dev *dev, char *data, int length); void fini_console(struct consfront_dev *dev); /* Low level functions defined in xencons_ring.c */ diff --git a/include/mini-os/events.h b/include/mini-os/events.h index 8e43695..c4878e0 100644 --- a/include/mini-os/events.h +++ b/include/mini-os/events.h @@ -25,15 +25,15 @@ typedef void (*evtchn_handler_t)(evtchn_port_t, struct pt_regs *, void *); /* prototypes */ int do_event(evtchn_port_t port, struct pt_regs *regs); -evtchn_port_t bind_virq(uint32_t virq, evtchn_handler_t handler, void *data); -evtchn_port_t bind_pirq(uint32_t pirq, int will_share, evtchn_handler_t handler, void *data); -evtchn_port_t bind_evtchn(evtchn_port_t port, evtchn_handler_t handler, +evtchn_port_t minios_bind_virq(uint32_t virq, evtchn_handler_t handler, void *data); +evtchn_port_t minios_bind_pirq(uint32_t pirq, int will_share, evtchn_handler_t handler, void *data); +evtchn_port_t minios_bind_evtchn(evtchn_port_t port, evtchn_handler_t handler, void *data); -void unbind_evtchn(evtchn_port_t port); +void minios_unbind_evtchn(evtchn_port_t port); void init_events(void); -int evtchn_alloc_unbound(domid_t pal, evtchn_handler_t handler, +int minios_evtchn_alloc_unbound(domid_t pal, evtchn_handler_t handler, void *data, evtchn_port_t *port); -int evtchn_bind_interdomain(domid_t pal, evtchn_port_t remote_port, +int minios_evtchn_bind_interdomain(domid_t pal, evtchn_port_t remote_port, evtchn_handler_t handler, void *data, evtchn_port_t *local_port); void unbind_all_ports(void); diff --git a/include/mini-os/hypervisor.h b/include/mini-os/hypervisor.h index b975770..6c70db8 100644 --- a/include/mini-os/hypervisor.h +++ b/include/mini-os/hypervisor.h @@ -32,16 +32,16 @@ union start_info_union start_info_t start_info; char padding[512]; }; -extern union start_info_union start_info_union; -#define start_info (start_info_union.start_info) +extern union start_info_union _minios_start_info_union; +#define start_info (_minios_start_info_union.start_info) /* hypervisor.c */ -void force_evtchn_callback(void); -void do_hypervisor_callback(struct pt_regs *regs); -void mask_evtchn(uint32_t port); -void unmask_evtchn(uint32_t port); -void clear_evtchn(uint32_t port); +void minios_force_evtchn_callback(void); +void minios_do_hypervisor_callback(struct pt_regs *regs); +void minios_mask_evtchn(uint32_t port); +void minios_unmask_evtchn(uint32_t port); +void minios_clear_evtchn(uint32_t port); -extern int in_callback; +extern int _minios_in_hypervisor_callback; #endif /* __MINIOS_HYPERVISOR_H__ */ diff --git a/include/mini-os/kernel.h b/include/mini-os/kernel.h index df35c25..e9ff923 100644 --- a/include/mini-os/kernel.h +++ b/include/mini-os/kernel.h @@ -3,7 +3,7 @@ extern int app_main(start_info_t *); -extern void do_exit(void) __attribute__((noreturn)); +extern void minios_do_exit(void) __attribute__((noreturn)); extern void stop_kernel(void); #endif /* _MINIOS_KERNEL_H_ */ diff --git a/include/mini-os/lib.h b/include/mini-os/lib.h index 66483ff..304cb84 100644 --- a/include/mini-os/lib.h +++ b/include/mini-os/lib.h @@ -65,7 +65,7 @@ int rand(void); #define ASSERT(x) \ do { \ if (!(x)) { \ - printk("ASSERTION FAILED: %s at %s:%d.\n", \ + minios_printk("ASSERTION FAILED: %s at %s:%d.\n", \ # x , \ __FILE__, \ __LINE__); \ diff --git a/include/mini-os/mm.h b/include/mini-os/mm.h index ebf205c..56b2eb2 100644 --- a/include/mini-os/mm.h +++ b/include/mini-os/mm.h @@ -45,10 +45,10 @@ void init_mm(void); -unsigned long alloc_pages(int order); -#define alloc_page() alloc_pages(0) -void free_pages(void *pointer, int order); -#define free_page(p) free_pages(p, 0) +unsigned long minios_alloc_pages(int order); +#define minios_alloc_page() minios_alloc_pages(0) +void minios_free_pages(void *pointer, int order); +#define minios_free_page(p) minios_free_pages(p, 0) static __inline__ int get_order(unsigned long size) { diff --git a/include/mini-os/netfront.h b/include/mini-os/netfront.h index 729ede6..24bdbe8 100644 --- a/include/mini-os/netfront.h +++ b/include/mini-os/netfront.h @@ -3,9 +3,9 @@ #include struct netfront_dev; -struct netfront_dev *init_netfront(char *nodename, void (*netif_rx)(struct netfront_dev *, unsigned char *data, int len), unsigned char rawmac[6], char **ip, void *priv); +struct netfront_dev *netfront_init(char *nodename, void (*netif_rx)(struct netfront_dev *, unsigned char *data, int len), unsigned char rawmac[6], char **ip, void *priv); void netfront_xmit(struct netfront_dev *dev, unsigned char* data,int len); -void shutdown_netfront(struct netfront_dev *dev); +void netfront_shutdown(struct netfront_dev *dev); void *netfront_get_private(struct netfront_dev *); diff --git a/include/mini-os/os.h b/include/mini-os/os.h index 675a2bf..c5541f5 100644 --- a/include/mini-os/os.h +++ b/include/mini-os/os.h @@ -20,7 +20,7 @@ #define USED __attribute__ ((used)) -#define BUG do_exit +#define BUG minios_do_exit #include diff --git a/include/mini-os/sched.h b/include/mini-os/sched.h index 9285f46..3038364 100644 --- a/include/mini-os/sched.h +++ b/include/mini-os/sched.h @@ -40,19 +40,19 @@ struct thread* arch_create_thread(const char *name, void (*function)(void *), void init_sched(void); void run_idle_thread(void); -struct thread* create_thread(const char *name, void *cookie, +struct thread* minios_create_thread(const char *name, void *cookie, void (*f)(void *), void *data, void *stack); -void exit_thread(void) __attribute__((noreturn)); -void join_thread(struct thread *); -void set_sched_hook(void (*hook)(void *, void *)); -struct thread *init_mainlwp(void *cookie); -void schedule(void); +void minios_exit_thread(void) __attribute__((noreturn)); +void minios_join_thread(struct thread *); +void minios_set_sched_hook(void (*hook)(void *, void *)); +struct thread *minios_init_mainlwp(void *cookie); +void minios_schedule(void); #define current get_current() -void wake(struct thread *thread); -void block(struct thread *thread); -int msleep(uint32_t millisecs); -int absmsleep(uint32_t millisecs); +void minios_wake(struct thread *thread); +void minios_block(struct thread *thread); +int minios_msleep(uint32_t millisecs); +int minios_absmsleep(uint32_t millisecs); #endif /* __MINIOS_SCHED_H__ */ diff --git a/include/mini-os/semaphore.h b/include/mini-os/semaphore.h index 5cbfafc..9f2a37a 100644 --- a/include/mini-os/semaphore.h +++ b/include/mini-os/semaphore.h @@ -43,7 +43,7 @@ struct rw_semaphore { static inline void init_SEMAPHORE(struct semaphore *sem, int count) { sem->count = count; - init_waitqueue_head(&sem->wait); + minios_init_waitqueue_head(&sem->wait); } #define init_MUTEX(sem) init_SEMAPHORE(sem, 1) @@ -65,7 +65,7 @@ static void inline down(struct semaphore *sem) { unsigned long flags; while (1) { - wait_event(sem->wait, sem->count > 0); + minios_wait_event(sem->wait, sem->count > 0); local_irq_save(flags); if (sem->count > 0) break; @@ -80,7 +80,7 @@ static void inline up(struct semaphore *sem) unsigned long flags; local_irq_save(flags); sem->count++; - wake_up(&sem->wait); + minios_wake_up(&sem->wait); local_irq_restore(flags); } diff --git a/include/mini-os/wait.h b/include/mini-os/wait.h index b00e14b..aa1837a 100644 --- a/include/mini-os/wait.h +++ b/include/mini-os/wait.h @@ -14,18 +14,18 @@ struct wait_queue name = { \ } -static inline void init_waitqueue_head(struct wait_queue_head *h) +static inline void minios_init_waitqueue_head(struct wait_queue_head *h) { STAILQ_INIT(h); } -static inline void init_waitqueue_entry(struct wait_queue *q, struct thread *thread) +static inline void minios_init_waitqueue_entry(struct wait_queue *q, struct thread *thread) { q->thread = thread; q->waiting = 0; } -static inline void add_wait_queue(struct wait_queue_head *h, struct wait_queue *q) +static inline void minios_add_wait_queue(struct wait_queue_head *h, struct wait_queue *q) { if (!q->waiting) { STAILQ_INSERT_HEAD(h, q, thread_list); @@ -33,7 +33,7 @@ static inline void add_wait_queue(struct wait_queue_head *h, struct wait_queue * } } -static inline void remove_wait_queue(struct wait_queue_head *h, struct wait_queue *q) +static inline void minios_remove_wait_queue(struct wait_queue_head *h, struct wait_queue *q) { if (q->waiting) { STAILQ_REMOVE(h, q, wait_queue, thread_list); @@ -41,32 +41,32 @@ static inline void remove_wait_queue(struct wait_queue_head *h, struct wait_queu } } -static inline void wake_up(struct wait_queue_head *head) +static inline void minios_wake_up(struct wait_queue_head *head) { unsigned long flags; struct wait_queue *curr, *tmp; local_irq_save(flags); STAILQ_FOREACH_SAFE(curr, head, thread_list, tmp) - wake(curr->thread); + minios_wake(curr->thread); local_irq_restore(flags); } -#define add_waiter(w, wq) do { \ +#define minios_add_waiter(w, wq) do { \ unsigned long flags; \ local_irq_save(flags); \ - add_wait_queue(&wq, &w); \ - block(get_current()); \ + minios_add_wait_queue(&wq, &w); \ + minios_block(get_current()); \ local_irq_restore(flags); \ } while (0) -#define remove_waiter(w, wq) do { \ +#define minios_remove_waiter(w, wq) do { \ unsigned long flags; \ local_irq_save(flags); \ - remove_wait_queue(&wq, &w); \ + minios_remove_wait_queue(&wq, &w); \ local_irq_restore(flags); \ } while (0) -#define wait_event_deadline(wq, condition, deadline) do { \ +#define minios_wait_event_deadline(wq, condition, deadline) do { \ unsigned long flags; \ DEFINE_WAIT(__wait); \ if(condition) \ @@ -75,22 +75,22 @@ static inline void wake_up(struct wait_queue_head *head) { \ /* protect the list */ \ local_irq_save(flags); \ - add_wait_queue(&wq, &__wait); \ + minios_add_wait_queue(&wq, &__wait); \ get_current()->wakeup_time = deadline; \ clear_runnable(get_current()); \ local_irq_restore(flags); \ if((condition) || (deadline && NOW() >= deadline)) \ break; \ - schedule(); \ + minios_schedule(); \ } \ local_irq_save(flags); \ /* need to wake up */ \ - wake(get_current()); \ - remove_wait_queue(&wq, &__wait); \ + minios_wake(get_current()); \ + minios_remove_wait_queue(&wq, &__wait); \ local_irq_restore(flags); \ } while(0) -#define wait_event(wq, condition) wait_event_deadline(wq, condition, 0) +#define minios_wait_event(wq, condition) minios_wait_event_deadline(wq, condition, 0) diff --git a/include/mini-os/x86/mm.h b/include/mini-os/x86/mm.h index 2a73d08..0b5d308 100644 --- a/include/mini-os/x86/mm.h +++ b/include/mini-os/x86/mm.h @@ -165,10 +165,10 @@ typedef unsigned long paddr_t; typedef unsigned long maddr_t; #endif -extern unsigned long *phys_to_machine_mapping; +extern unsigned long *_minios_phys_to_machine_mapping; extern char _text, _etext, _erodata, _edata, _end; -extern unsigned long mfn_zero; -#define pfn_to_mfn(_pfn) (phys_to_machine_mapping[(_pfn)]) +extern unsigned long _minios_mfn_zero; +#define pfn_to_mfn(_pfn) (_minios_phys_to_machine_mapping[(_pfn)]) static __inline__ maddr_t phys_to_machine(paddr_t phys) { maddr_t machine = pfn_to_mfn(phys >> PAGE_SHIFT); diff --git a/include/mini-os/x86/os.h b/include/mini-os/x86/os.h index 6e0986f..a9429d9 100644 --- a/include/mini-os/x86/os.h +++ b/include/mini-os/x86/os.h @@ -75,7 +75,7 @@ do { \ _vcpu->evtchn_upcall_mask = 0; \ barrier(); /* unmask then check (avoid races) */ \ if ( unlikely(_vcpu->evtchn_upcall_pending) ) \ - force_evtchn_callback(); \ + minios_force_evtchn_callback(); \ } while (0) #define __save_flags(x) \ @@ -93,7 +93,7 @@ do { \ if ((_vcpu->evtchn_upcall_mask = (x)) == 0) { \ barrier(); /* unmask then check (avoid races) */ \ if ( unlikely(_vcpu->evtchn_upcall_pending) ) \ - force_evtchn_callback(); \ + minios_force_evtchn_callback(); \ }\ } while (0) diff --git a/lib/_lwp.c b/lib/_lwp.c index 73b6e14..404ad64 100644 --- a/lib/_lwp.c +++ b/lib/_lwp.c @@ -111,7 +111,7 @@ _lwp_create(const ucontext_t *ucp, unsigned long flags, lwpid_t *lid) *lid = ++curlwpid; scd->scd_lwpid = *lid; - scd->scd_thread = create_thread("lwp", scd, + scd->scd_thread = minios_create_thread("lwp", scd, scd->scd_start, scd->scd_arg, scd->scd_stack); if (scd->scd_thread == NULL) return EBUSY; /* ??? */ @@ -130,7 +130,7 @@ _lwp_unpark(lwpid_t lid, const void *hint) return -1; } - wake(scd->scd_thread); + minios_wake(scd->scd_thread); return 0; } @@ -182,8 +182,8 @@ void _lwp_rumpxen_scheduler_init(void) { - set_sched_hook(schedhook); - mainthread.scd_thread = init_mainlwp(&mainthread.scd_tls); + minios_set_sched_hook(schedhook); + mainthread.scd_thread = minios_init_mainlwp(&mainthread.scd_tls); TAILQ_INSERT_TAIL(&scheds, &mainthread, entries); } @@ -201,16 +201,16 @@ ___lwp_park60(clockid_t clock_id, int flags, const struct timespec *ts, uint32_t msecs = ts->tv_sec*1000 + ts->tv_nsec/(1000*1000); if (flags & TIMER_ABSTIME) { - rv = absmsleep(msecs); + rv = minios_absmsleep(msecs); } else { - rv = msleep(msecs); + rv = minios_msleep(msecs); } if (rv) { rv = ETIMEDOUT; } } else { - block(mylwp->scd_thread); - schedule(); + minios_block(mylwp->scd_thread); + minios_schedule(); rv = 0; } @@ -228,7 +228,7 @@ _lwp_exit(void) scd->scd_lwpctl.lc_curcpu = LWPCTL_CPU_EXITED; TAILQ_REMOVE(&scheds, scd, entries); - exit_thread(); + minios_exit_thread(); } void @@ -237,7 +237,7 @@ _lwp_continue(lwpid_t lid) struct schedulable *scd; if ((scd = lwpid2scd(lid)) != NULL) - wake(scd->scd_thread); + minios_wake(scd->scd_thread); } void @@ -246,7 +246,7 @@ _lwp_suspend(lwpid_t lid) struct schedulable *scd; if ((scd = lwpid2scd(lid)) != NULL) - block(scd->scd_thread); + minios_block(scd->scd_thread); } int @@ -257,7 +257,7 @@ _lwp_wakeup(lwpid_t lid) if ((scd = lwpid2scd(lid)) == NULL) return ESRCH; - wake(scd->scd_thread); + minios_wake(scd->scd_thread); return ENODEV; } @@ -302,7 +302,7 @@ void _sched_yield(void) { - schedule(); + minios_schedule(); } __weak_alias(sched_yield,_sched_yield); __strong_alias(_sys_sched_yield,_sched_yield); diff --git a/lib/emul.c b/lib/emul.c index ef6964a..d61b7d1 100644 --- a/lib/emul.c +++ b/lib/emul.c @@ -78,5 +78,5 @@ void __dead _exit(int eval) { - do_exit(); + minios_do_exit(); } diff --git a/lib/libc_stubs.c b/lib/libc_stubs.c index 1fc3fc2..b8528e9 100644 --- a/lib/libc_stubs.c +++ b/lib/libc_stubs.c @@ -7,7 +7,7 @@ static int done = 0; \ errno = ENOTSUP; \ if (done) return ENOTSUP; done = 1; \ - printk("STUB ``%s'' called\n", #name); \ + minios_printk("STUB ``%s'' called\n", #name); \ return ENOTSUP;} STUB(__sigaction14); diff --git a/lib/memalloc.c b/lib/memalloc.c index f3173e8..103bc22 100644 --- a/lib/memalloc.c +++ b/lib/memalloc.c @@ -342,7 +342,7 @@ corealloc(int shift) #ifdef MEMALLOC_TESTING v = malloc((1<wakeup_time = sec * (1000*1000*1000ULL) + nsec; clear_runnable(thread); - schedule(); + minios_schedule(); break; } rumpkern_sched(nlocks, NULL); @@ -180,7 +180,7 @@ rumpuser_malloc(size_t len, int alignment, void **retval) */ if (len == PAGE_SIZE) { ASSERT(alignment <= PAGE_SIZE); - *retval = (void *)alloc_page(); + *retval = (void *)minios_alloc_page(); } else { *retval = memalloc(len, alignment); } @@ -195,7 +195,7 @@ rumpuser_free(void *buf, size_t buflen) { if (buflen == PAGE_SIZE) - free_page(buf); + minios_free_page(buf); else memfree(buf); } @@ -217,7 +217,7 @@ void rumpuser_exit(int value) { - do_exit(); + minios_do_exit(); } #define NBLKDEV 10 @@ -242,7 +242,7 @@ devopen(int num) snprintf(buf, sizeof(buf), "device/vbd/%d", devnum); rumpkern_unsched(&nlocks, NULL); - blkdevs[num] = init_blkfront(buf, &blkinfos[num]); + blkdevs[num] = blkfront_init(buf, &blkinfos[num]); rumpkern_sched(nlocks, NULL); if (blkdevs[num] != NULL) { @@ -307,7 +307,7 @@ rumpuser_close(int fd) /* not sure if this appropriately prevents races either ... */ blkdevs[rfd] = NULL; - shutdown_blkfront(toclose); + blkfront_shutdown(toclose); } return 0; @@ -389,9 +389,9 @@ biothread(void *arg) } if (did) break; - add_waiter(w, blkfront_queue); + minios_add_waiter(w, blkfront_queue); local_irq_restore(flags); - schedule(); + minios_schedule(); local_irq_save(flags); } local_irq_restore(flags); @@ -415,7 +415,7 @@ rumpuser_bio(int fd, int op, void *data, size_t dlen, int64_t off, if (!bio_inited) { bio_inited = 1; rumpuser_mutex_exit(bio_mtx); - create_thread("biopoll", NULL, + minios_create_thread("biopoll", NULL, biothread, NULL, NULL); } else { rumpuser_mutex_exit(bio_mtx); diff --git a/rumphyper_net.c b/rumphyper_net.c index a581b40..3db1755 100644 --- a/rumphyper_net.c +++ b/rumphyper_net.c @@ -83,7 +83,7 @@ myrecv(struct netfront_dev *dev, unsigned char *data, int dlen) } if (dlen > MAXPKT) { - printk("myrecv: pkt len %d too big\n", dlen); + minios_printk("myrecv: pkt len %d too big\n", dlen); return; } @@ -92,7 +92,7 @@ myrecv(struct netfront_dev *dev, unsigned char *data, int dlen) viu->viu_write = nextw; if (viu->viu_rcvr) - wake(viu->viu_rcvr); + minios_wake(viu->viu_rcvr); } static void @@ -117,9 +117,9 @@ pusher(void *arg) for (;;) { while (viu->viu_read == viu->viu_write) { viu->viu_rcvr = me; - block(viu->viu_rcvr); + minios_block(viu->viu_rcvr); local_irq_restore(flags); - schedule(); + minios_schedule(); local_irq_save(flags); viu->viu_rcvr = NULL; } @@ -156,16 +156,16 @@ VIFHYPER_CREATE(int devnum, struct virtif_sc *vif_sc, uint8_t *enaddr, memset(viu, 0, sizeof(*viu)); viu->viu_vifsc = vif_sc; - viu->viu_dev = init_netfront(NULL, myrecv, enaddr, NULL, viu); + viu->viu_dev = netfront_init(NULL, myrecv, enaddr, NULL, viu); if (!viu->viu_dev) { rv = EINVAL; /* ? */ free(viu); goto out; } - if (create_thread("xenifp", NULL, pusher, viu, NULL) == NULL) { - printk("fatal thread creation failure\n"); /* XXX */ - do_exit(); + if (minios_create_thread("xenifp", NULL, pusher, viu, NULL) == NULL) { + minios_printk("fatal thread creation failure\n"); /* XXX */ + minios_do_exit(); } rv = 0; diff --git a/rumphyper_pci.c b/rumphyper_pci.c index f4fc75d..85a52aa 100644 --- a/rumphyper_pci.c +++ b/rumphyper_pci.c @@ -106,8 +106,8 @@ rumpcomp_pci_irq_establish(unsigned cookie, int (*handler)(void *), void *data) ihan->i_handler = handler; ihan->i_data = data; - prt = bind_pirq(pirq, 1, hyperhandler, ihan); - unmask_evtchn(prt); + prt = minios_bind_pirq(pirq, 1, hyperhandler, ihan); + minios_unmask_evtchn(prt); ihan->i_prt = prt; return ihan; diff --git a/rumphyper_synch.c b/rumphyper_synch.c index 272fb51..ae10a23 100644 --- a/rumphyper_synch.c +++ b/rumphyper_synch.c @@ -59,10 +59,10 @@ wait(struct waithead *wh, uint64_t nsec) w.who = get_current(); TAILQ_INSERT_TAIL(wh, &w, entries); w.onlist = 1; - block(w.who); + minios_block(w.who); if (nsec) w.who->wakeup_time = NOW() + nsec; - schedule(); + minios_schedule(); /* woken up by timeout? */ if (w.onlist) @@ -79,7 +79,7 @@ wakeup_one(struct waithead *wh) if ((w = TAILQ_FIRST(wh)) != NULL) { TAILQ_REMOVE(wh, w, entries); w->onlist = 0; - wake(w->who); + minios_wake(w->who); } } @@ -91,7 +91,7 @@ wakeup_all(struct waithead *wh) while ((w = TAILQ_FIRST(wh)) != NULL) { TAILQ_REMOVE(wh, w, entries); w->onlist = 0; - wake(w->who); + minios_wake(w->who); } } @@ -101,7 +101,7 @@ rumpuser_thread_create(void *(*f)(void *), void *arg, const char *thrname, { struct thread *thr; - thr = create_thread(thrname, NULL, (void (*)(void *))f, arg, NULL); + thr = minios_create_thread(thrname, NULL, (void (*)(void *))f, arg, NULL); /* * XXX: should be supplied as a flag to create_thread() so as to * _ensure_ it's set before the thread runs (and could exit). @@ -121,14 +121,14 @@ void rumpuser_thread_exit(void) { - exit_thread(); + minios_exit_thread(); } int rumpuser_thread_join(void *p) { - join_thread(p); + minios_join_thread(p); return 0; } @@ -172,7 +172,7 @@ rumpuser_mutex_enter_nowrap(struct rumpuser_mtx *mtx) rv = rumpuser_mutex_tryenter(mtx); /* one VCPU supported, no preemption => must succeed */ if (rv != 0) { - printk("no voi ei\n"); + minios_printk("no voi ei\n"); } } diff --git a/rumpxendev/Makefile b/rumpxendev/Makefile index 6ca73ac..2681424 100644 --- a/rumpxendev/Makefile +++ b/rumpxendev/Makefile @@ -10,7 +10,7 @@ CPPFLAGS+= -I${RUMPTOP}/librump/rumpvfs CPPFLAGS+= -I${.CURDIR} CPPFLAGS+= -I${.CURDIR}/../include -D__RUMP_KERNEL__ -I${.CURDIR}/.. -RUMP_SYM_NORENAME=xenbus_|HYPERVISOR_|wake$$|block$$|schedule$$|force_evtchn +RUMP_SYM_NORENAME=xenbus_|HYPERVISOR_|minios_ .include "${RUMPTOP}/Makefile.rump" .include diff --git a/rumpxendev/busdev.c b/rumpxendev/busdev.c index 7f5f098..4c4daa9 100644 --- a/rumpxendev/busdev.c +++ b/rumpxendev/busdev.c @@ -628,17 +628,17 @@ next_event_msg(struct xenbus_dev_data *d, struct file *fp, int *err_r, DPRINTF(("/dev/xen/xenbus: about to block err_r=%p\n", err_r)); - add_waiter(w, d->replies.waitq); + minios_add_waiter(w, d->replies.waitq); spin_unlock(&xenbus_req_lock); mutex_exit(&d->lock); rumpkern_unsched(&nlocks, 0); - schedule(); + minios_schedule(); rumpkern_sched(nlocks, 0); mutex_enter(&d->lock); spin_lock(&xenbus_req_lock); - remove_waiter(w, d->replies.waitq); + minios_remove_waiter(w, d->replies.waitq); } struct xenbus_event *event = STAILQ_FIRST(&d->replies.events); STAILQ_REMOVE_HEAD(&d->replies.events, entry); @@ -741,7 +741,7 @@ xenbus_dev_xb_wakeup(struct xenbus_event_queue *queue) DPRINTF(("/dev/xen/xenbus: wakeup\n")); struct xenbus_dev_data *d = container_of(queue, struct xenbus_dev_data, replies); - wake_up(&d->replies.waitq); + minios_wake_up(&d->replies.waitq); selnotify(&d->selinfo, RBITS, NOTE_SUBMIT); } @@ -756,7 +756,7 @@ xenbus_dev_restart(file_t *fp) spin_lock(&xenbus_req_lock); d->want_restart |= 1; - wake_up(&d->replies.waitq); + minios_wake_up(&d->replies.waitq); spin_unlock(&xenbus_req_lock); mutex_exit(&d->lock); diff --git a/xen/arch/x86/ioremap.c b/xen/arch/x86/ioremap.c index c7f8186..e9bdd48 100644 --- a/xen/arch/x86/ioremap.c +++ b/xen/arch/x86/ioremap.c @@ -48,7 +48,7 @@ static void *__do_ioremap(unsigned long phys_addr, unsigned long size, { if ( mfn_is_ram(mfn) ) { - printk("ioremap: mfn 0x%ulx is RAM\n", mfn); + minios_printk("ioremap: mfn 0x%ulx is RAM\n", mfn); goto mfn_invalid; } } diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c index 04ca2ac..c61747a 100644 --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -45,14 +45,14 @@ #ifdef MM_DEBUG #define DEBUG(_f, _a...) \ - printk("MINI_OS(file=mm.c, line=%d) " _f "\n", __LINE__, ## _a) + minios_printk("MINI_OS(file=mm.c, line=%d) " _f "\n", __LINE__, ## _a) #else #define DEBUG(_f, _a...) ((void)0) #endif -unsigned long *phys_to_machine_mapping; -unsigned long mfn_zero; -extern char stack[]; +unsigned long *_minios_phys_to_machine_mapping; +unsigned long _minios_mfn_zero; +extern char _minios_stack[]; extern void page_walk(unsigned long va); /* @@ -95,8 +95,8 @@ static void new_pt_frame(unsigned long *pt_pfn, unsigned long prev_l_mfn, break; #endif default: - printk("new_pt_frame() called with invalid level number %d\n", level); - do_exit(); + minios_printk("new_pt_frame() called with invalid level number %d\n", level); + minios_do_exit(); break; } @@ -113,9 +113,9 @@ static void new_pt_frame(unsigned long *pt_pfn, unsigned long prev_l_mfn, if ( (rc = HYPERVISOR_mmu_update(mmu_updates, 1, NULL, DOMID_SELF)) < 0 ) { - printk("ERROR: PTE for new page table page could not be updated\n"); - printk(" mmu_update failed with rc=%d\n", rc); - do_exit(); + minios_printk("ERROR: PTE for new page table page could not be updated\n"); + minios_printk(" mmu_update failed with rc=%d\n", rc); + minios_do_exit(); } /* Hook the new page table page into the hierarchy */ @@ -125,8 +125,8 @@ static void new_pt_frame(unsigned long *pt_pfn, unsigned long prev_l_mfn, if ( (rc = HYPERVISOR_mmu_update(mmu_updates, 1, NULL, DOMID_SELF)) < 0 ) { - printk("ERROR: mmu_update failed with rc=%d\n", rc); - do_exit(); + minios_printk("ERROR: mmu_update failed with rc=%d\n", rc); + minios_do_exit(); } *pt_pfn += 1; @@ -182,7 +182,7 @@ static int need_pt_frame(unsigned long va, int level) if ( level == L1_FRAME ) return 1; - printk("ERROR: Unknown frame level %d, hypervisor %llx,%llx\n", + minios_printk("ERROR: Unknown frame level %d, hypervisor %llx,%llx\n", level, hyp_virt_start, hyp_virt_end); return -1; } @@ -206,12 +206,12 @@ static void build_pagetable(unsigned long *start_pfn, unsigned long *max_pfn) if ( *max_pfn >= virt_to_pfn(HYPERVISOR_VIRT_START) ) { - printk("WARNING: Mini-OS trying to use Xen virtual space. " + minios_printk("WARNING: Mini-OS trying to use Xen virtual space. " "Truncating memory from %dMB to ", ((unsigned long)pfn_to_virt(*max_pfn) - (unsigned long)&_text)>>20); *max_pfn = virt_to_pfn(HYPERVISOR_VIRT_START - PAGE_SIZE); - printk("%dMB\n", + minios_printk("%dMB\n", ((unsigned long)pfn_to_virt(*max_pfn) - (unsigned long)&_text)>>20); } @@ -220,7 +220,7 @@ static void build_pagetable(unsigned long *start_pfn, unsigned long *max_pfn) end_address = (unsigned long)pfn_to_virt(*max_pfn); /* We worked out the virtual memory range to map, now mapping loop */ - printk("Mapping memory range 0x%lx - 0x%lx\n", start_address, end_address); + minios_printk("Mapping memory range 0x%lx - 0x%lx\n", start_address, end_address); while ( start_address < end_address ) { @@ -267,9 +267,9 @@ static void build_pagetable(unsigned long *start_pfn, unsigned long *max_pfn) rc = HYPERVISOR_mmu_update(mmu_updates, count, NULL, DOMID_SELF); if ( rc < 0 ) { - printk("ERROR: build_pagetable(): PTE could not be updated\n"); - printk(" mmu_update failed with rc=%d\n", rc); - do_exit(); + minios_printk("ERROR: build_pagetable(): PTE could not be updated\n"); + minios_printk(" mmu_update failed with rc=%d\n", rc); + minios_do_exit(); } count = 0; } @@ -295,7 +295,7 @@ static void set_readonly(void *text, void *etext) int count = 0; int rc; - printk("setting %p-%p readonly\n", text, etext); + minios_printk("setting %p-%p readonly\n", text, etext); while ( start_address + PAGE_SIZE <= end_address ) { @@ -327,7 +327,7 @@ static void set_readonly(void *text, void *etext) count++; } else - printk("skipped %p\n", start_address); + minios_printk("skipped %p\n", start_address); start_address += PAGE_SIZE; @@ -337,8 +337,8 @@ static void set_readonly(void *text, void *etext) rc = HYPERVISOR_mmu_update(mmu_updates, count, NULL, DOMID_SELF); if ( rc < 0 ) { - printk("ERROR: set_readonly(): PTE could not be updated\n"); - do_exit(); + minios_printk("ERROR: set_readonly(): PTE could not be updated\n"); + minios_do_exit(); } count = 0; } @@ -370,21 +370,21 @@ int mem_test(unsigned long *start_va, unsigned long *end_va, int verbose) /* write values and print page walks */ if ( verbose && (((unsigned long)start_va) & 0xfffff) ) { - printk("MemTest Start: 0x%lx\n", start_va); + minios_printk("MemTest Start: 0x%lx\n", start_va); page_walk((unsigned long)start_va); } for ( pointer = start_va; pointer < end_va; pointer++ ) { if ( verbose && !(((unsigned long)pointer) & 0xfffff) ) { - printk("Writing to %lx\n", pointer); + minios_printk("Writing to %lx\n", pointer); page_walk((unsigned long)pointer); } *pointer = (unsigned long)pointer & ~mask; } if ( verbose && (((unsigned long)end_va) & 0xfffff) ) { - printk("MemTest End: %lx\n", end_va-1); + minios_printk("MemTest End: %lx\n", end_va-1); page_walk((unsigned long)end_va-1); } @@ -393,13 +393,13 @@ int mem_test(unsigned long *start_va, unsigned long *end_va, int verbose) { if ( ((unsigned long)pointer & ~mask) != *pointer ) { - printk("Read error at 0x%lx. Read: 0x%lx, should read 0x%lx\n", + minios_printk("Read error at 0x%lx. Read: 0x%lx, should read 0x%lx\n", (unsigned long)pointer, *pointer, ((unsigned long)pointer & ~mask)); error_count++; if ( error_count >= MEM_TEST_MAX_ERRORS ) { - printk("mem_test: too many errors\n"); + minios_printk("mem_test: too many errors\n"); return -1; } } @@ -460,7 +460,7 @@ pgentry_t *need_pgt(unsigned long va) offset = l4_table_offset(va); if ( !(tab[offset] & _PAGE_PRESENT) ) { - pt_pfn = virt_to_pfn(alloc_page()); + pt_pfn = virt_to_pfn(minios_alloc_page()); new_pt_frame(&pt_pfn, pt_mfn, offset, L3_FRAME); } ASSERT(tab[offset] & _PAGE_PRESENT); @@ -470,7 +470,7 @@ pgentry_t *need_pgt(unsigned long va) offset = l3_table_offset(va); if ( !(tab[offset] & _PAGE_PRESENT) ) { - pt_pfn = virt_to_pfn(alloc_page()); + pt_pfn = virt_to_pfn(minios_alloc_page()); new_pt_frame(&pt_pfn, pt_mfn, offset, L2_FRAME); } ASSERT(tab[offset] & _PAGE_PRESENT); @@ -479,7 +479,7 @@ pgentry_t *need_pgt(unsigned long va) offset = l2_table_offset(va); if ( !(tab[offset] & _PAGE_PRESENT) ) { - pt_pfn = virt_to_pfn(alloc_page()); + pt_pfn = virt_to_pfn(minios_alloc_page()); new_pt_frame(&pt_pfn, pt_mfn, offset, L1_FRAME); } ASSERT(tab[offset] & _PAGE_PRESENT); @@ -508,7 +508,7 @@ void arch_init_demand_mapping_area(unsigned long cur_pfn) demand_map_area_start = (unsigned long) pfn_to_virt(cur_pfn); cur_pfn += DEMAND_MAP_PAGES; - printk("Demand map pfns at %lx-%lx.\n", + minios_printk("Demand map pfns at %lx-%lx.\n", demand_map_area_start, pfn_to_virt(cur_pfn)); } @@ -541,7 +541,7 @@ unsigned long allocate_ondemand(unsigned long n, unsigned long alignment) } if ( y != n ) { - printk("Failed to find %ld frames!\n", n); + minios_printk("Failed to find %ld frames!\n", n); return 0; } return demand_map_area_start + x * PAGE_SIZE; @@ -564,7 +564,7 @@ void do_map_frames(unsigned long va, if ( !mfns ) { - printk("do_map_frames: no mfns supplied\n"); + minios_printk("do_map_frames: no mfns supplied\n"); return; } DEBUG("va=%p n=0x%lx, mfns[0]=0x%lx stride=0x%lx incr=0x%lx prot=0x%lx\n", @@ -604,9 +604,9 @@ void do_map_frames(unsigned long va, if (err) err[done * stride] = rc; else { - printk("Map %ld (%lx, ...) at %p failed: %d.\n", + minios_printk("Map %ld (%lx, ...) at %p failed: %d.\n", todo, mfns[done * stride] + done * incr, va, rc); - do_exit(); + minios_do_exit(); } } } @@ -670,7 +670,7 @@ int unmap_frames(unsigned long va, unsigned long num_frames) ret = HYPERVISOR_multicall(call, n); if ( ret ) { - printk("update_va_mapping hypercall failed with rc=%d.\n", ret); + minios_printk("update_va_mapping hypercall failed with rc=%d.\n", ret); return -ret; } @@ -678,7 +678,7 @@ int unmap_frames(unsigned long va, unsigned long num_frames) { if ( call[i].result ) { - printk("update_va_mapping failed for with rc=%d.\n", ret); + minios_printk("update_va_mapping failed for with rc=%d.\n", ret); return -(call[i].result); } } @@ -728,16 +728,16 @@ unsigned long alloc_contig_pages(int order, unsigned int addr_bits) if ( order > MAX_CONTIG_ORDER ) { - printk("alloc_contig_pages: order too large 0x%x > 0x%x\n", + minios_printk("alloc_contig_pages: order too large 0x%x > 0x%x\n", order, MAX_CONTIG_ORDER); return 0; } /* Allocate some potentially discontiguous pages */ - in_va = alloc_pages(order); + in_va = minios_alloc_pages(order); if ( !in_va ) { - printk("alloc_contig_pages: could not get enough pages (order=0x%x\n", + minios_printk("alloc_contig_pages: could not get enough pages (order=0x%x\n", order); return 0; } @@ -755,7 +755,7 @@ unsigned long alloc_contig_pages(int order, unsigned int addr_bits) in_frames[i] = virt_to_mfn(va); /* update P2M mapping */ - phys_to_machine_mapping[virt_to_pfn(va)] = INVALID_P2M_ENTRY; + _minios_phys_to_machine_mapping[virt_to_pfn(va)] = INVALID_P2M_ENTRY; /* build multi call */ call[i].op = __HYPERVISOR_update_va_mapping; @@ -770,7 +770,7 @@ unsigned long alloc_contig_pages(int order, unsigned int addr_bits) ret = HYPERVISOR_multicall(call, i); if ( ret ) { - printk("Odd, update_va_mapping hypercall failed with rc=%d.\n", ret); + minios_printk("Odd, update_va_mapping hypercall failed with rc=%d.\n", ret); return 0; } @@ -778,7 +778,7 @@ unsigned long alloc_contig_pages(int order, unsigned int addr_bits) out_frames = virt_to_pfn(in_va); /* PFNs to populate */ ret = HYPERVISOR_memory_op(XENMEM_exchange, &exchange); if ( ret ) { - printk("mem exchanged order=0x%x failed with rc=%d, nr_exchanged=%d\n", + minios_printk("mem exchanged order=0x%x failed with rc=%d, nr_exchanged=%d\n", order, ret, exchange.nr_exchanged); /* we still need to return the allocated pages above to the pool * ie. map them back into the 1:1 mapping etc. so we continue but @@ -799,7 +799,7 @@ unsigned long alloc_contig_pages(int order, unsigned int addr_bits) pte = __pte(mfn << PAGE_SHIFT | L1_PROT); /* update P2M mapping */ - phys_to_machine_mapping[virt_to_pfn(va)] = mfn; + _minios_phys_to_machine_mapping[virt_to_pfn(va)] = mfn; /* build multi call */ call[i].op = __HYPERVISOR_update_va_mapping; @@ -815,14 +815,14 @@ unsigned long alloc_contig_pages(int order, unsigned int addr_bits) ret = HYPERVISOR_multicall(call, i); if ( ret ) { - printk("update_va_mapping hypercall no. 2 failed with rc=%d.\n", ret); + minios_printk("update_va_mapping hypercall no. 2 failed with rc=%d.\n", ret); return 0; } if ( !exch_success ) { /* since the exchanged failed we just free the pages as well */ - free_pages((void *) in_va, order); + minios_free_pages((void *) in_va, order); return 0; } @@ -851,9 +851,9 @@ static void clear_bootstrap(void) /* Use first page as the CoW zero page */ memset(&_text, 0, PAGE_SIZE); - mfn_zero = virt_to_mfn((unsigned long) &_text); + _minios_mfn_zero = virt_to_mfn((unsigned long) &_text); if ( (rc = HYPERVISOR_update_va_mapping(0, nullpte, UVMF_INVLPG)) ) - printk("Unable to unmap NULL page. rc=%d\n", rc); + minios_printk("Unable to unmap NULL page. rc=%d\n", rc); } void arch_init_p2m(unsigned long max_pfn) @@ -877,22 +877,22 @@ void arch_init_p2m(unsigned long max_pfn) unsigned long *l1_list = NULL, *l2_list = NULL, *l3_list; unsigned long pfn; - l3_list = (unsigned long *)alloc_page(); + l3_list = (unsigned long *)minios_alloc_page(); for ( pfn=0; pfn> L3_P2M_SHIFT) > 0 ) { - printk("Error: Too many pfns.\n"); - do_exit(); + minios_printk("Error: Too many pfns.\n"); + minios_do_exit(); } l3_list[(pfn >> L2_P2M_SHIFT)] = virt_to_mfn(l2_list); } if ( !(pfn % (L1_P2M_ENTRIES)) ) { - l1_list = (unsigned long*)alloc_page(); + l1_list = (unsigned long*)minios_alloc_page(); l2_list[(pfn >> L1_P2M_SHIFT) & L2_P2M_MASK] = virt_to_mfn(l1_list); } @@ -908,12 +908,12 @@ void arch_init_mm(unsigned long* start_pfn_p, unsigned long* max_pfn_p) { unsigned long start_pfn, max_pfn; - printk(" _text: %p(VA)\n", &_text); - printk(" _etext: %p(VA)\n", &_etext); - printk(" _erodata: %p(VA)\n", &_erodata); - printk(" _edata: %p(VA)\n", &_edata); - printk("stack start: %p(VA)\n", stack); - printk(" _end: %p(VA)\n", &_end); + minios_printk(" _text: %p(VA)\n", &_text); + minios_printk(" _etext: %p(VA)\n", &_etext); + minios_printk(" _erodata: %p(VA)\n", &_erodata); + minios_printk(" _edata: %p(VA)\n", &_edata); + minios_printk("stack start: %p(VA)\n", _minios_stack); + minios_printk(" _end: %p(VA)\n", &_end); /* First page follows page table pages and 3 more pages (store page etc) */ start_pfn = PFN_UP(to_phys(start_info.pt_base)) + @@ -929,8 +929,8 @@ void arch_init_mm(unsigned long* start_pfn_p, unsigned long* max_pfn_p) } #endif - printk(" start_pfn: %lx\n", start_pfn); - printk(" max_pfn: %lx\n", max_pfn); + minios_printk(" start_pfn: %lx\n", start_pfn); + minios_printk(" max_pfn: %lx\n", max_pfn); build_pagetable(&start_pfn, &max_pfn); clear_bootstrap(); diff --git a/xen/arch/x86/sched.c b/xen/arch/x86/sched.c index 8fa882f..4e6ae4e 100644 --- a/xen/arch/x86/sched.c +++ b/xen/arch/x86/sched.c @@ -60,14 +60,14 @@ void dump_stack(struct thread *thread) : "=r"(pointer)); #endif } - printk("The stack for \"%s\"\n", thread->name); + minios_printk("The stack for \"%s\"\n", thread->name); for(count = 0; count < 25 && pointer < bottom; count ++) { - printk("[0x%lx] 0x%lx\n", pointer, *pointer); + minios_printk("[0x%lx] 0x%lx\n", pointer, *pointer); pointer++; } - if(pointer < bottom) printk(" ... continues.\n"); + if(pointer < bottom) minios_printk(" ... continues.\n"); } /* Gets run when a new thread is scheduled the first time ever, @@ -90,9 +90,9 @@ struct thread* arch_create_thread(const char *name, void (*function)(void *), thread = xmalloc(struct thread); /* We can't use lazy allocation here since the trap handler runs on the stack */ if (!stack) { - thread->stack = (char *)alloc_pages(STACK_SIZE_PAGE_ORDER); + thread->stack = (char *)minios_alloc_pages(STACK_SIZE_PAGE_ORDER); #if 0 - printk("Thread \"%s\": pointer: 0x%lx, stack: 0x%lx\n", name, thread, + minios_printk("Thread \"%s\": pointer: 0x%lx, stack: 0x%lx\n", name, thread, thread->stack); #endif } else { diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c index 84681b3..8d54ea3 100644 --- a/xen/arch/x86/setup.c +++ b/xen/arch/x86/setup.c @@ -40,13 +40,13 @@ shared_info_t *HYPERVISOR_shared_info; * This structure contains start-of-day info, such as pagetable base pointer, * address of the shared_info structure, and things like that. */ -union start_info_union start_info_union; +union start_info_union _minios_start_info_union; /* * Just allocate the kernel stack here. SS:ESP is set up to point here * in head.S. */ -char stack[2*STACK_SIZE]; +char _minios_stack[2*STACK_SIZE]; extern char _minios_shared_info[PAGE_SIZE]; @@ -69,8 +69,8 @@ shared_info_t *map_shared_info(unsigned long pa) if ( (rc = HYPERVISOR_update_va_mapping( (unsigned long)_minios_shared_info, __pte(pa | 7), UVMF_INVLPG)) ) { - printk("Failed to map shared_info!! rc=%d\n", rc); - do_exit(); + minios_printk("Failed to map shared_info!! rc=%d\n", rc); + minios_do_exit(); } return (shared_info_t *)_minios_shared_info; } @@ -84,7 +84,7 @@ arch_init(start_info_t *si) memcpy(&start_info, si, sizeof(*si)); /* set up minimal memory infos */ - phys_to_machine_mapping = (unsigned long *)start_info.mfn_list; + _minios_phys_to_machine_mapping = (unsigned long *)start_info.mfn_list; /* Grab the shared_info pointer and put it in a safe place. */ HYPERVISOR_shared_info = map_shared_info(start_info.shared_info); @@ -115,7 +115,8 @@ arch_fini(void) void arch_print_info(void) { - printk(" stack: %p-%p\n", stack, stack + sizeof(stack)); + minios_printk(" stack: %p-%p\n", _minios_stack, + _minios_stack + sizeof(_minios_stack)); } diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c index 20ab23f..f258ae8 100644 --- a/xen/arch/x86/time.c +++ b/xen/arch/x86/time.c @@ -208,14 +208,14 @@ static void timer_handler(evtchn_port_t ev, struct pt_regs *regs, void *ign) static evtchn_port_t port; void init_time(void) { - printk("Initialising timer interface\n"); - port = bind_virq(VIRQ_TIMER, &timer_handler, NULL); - unmask_evtchn(port); + minios_printk("Initialising timer interface\n"); + port = minios_bind_virq(VIRQ_TIMER, &timer_handler, NULL); + minios_unmask_evtchn(port); } void fini_time(void) { /* Clear any pending timer */ HYPERVISOR_set_timer_op(0); - unbind_evtchn(port); + minios_unbind_evtchn(port); } diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c index 8563f22..2e83adc 100644 --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -35,40 +35,40 @@ void _minios_entry_machine_check(void); void dump_regs(struct pt_regs *regs) { - printk("Thread: %s\n", current->name); + minios_printk("Thread: %s\n", current->name); #ifdef __i386__ - printk("EIP: %x, EFLAGS %x.\n", regs->eip, regs->eflags); - printk("EBX: %08x ECX: %08x EDX: %08x\n", + minios_printk("EIP: %x, EFLAGS %x.\n", regs->eip, regs->eflags); + minios_printk("EBX: %08x ECX: %08x EDX: %08x\n", regs->ebx, regs->ecx, regs->edx); - printk("ESI: %08x EDI: %08x EBP: %08x EAX: %08x\n", + minios_printk("ESI: %08x EDI: %08x EBP: %08x EAX: %08x\n", regs->esi, regs->edi, regs->ebp, regs->eax); - printk("DS: %04x ES: %04x orig_eax: %08x, eip: %08x\n", + minios_printk("DS: %04x ES: %04x orig_eax: %08x, eip: %08x\n", regs->xds, regs->xes, regs->orig_eax, regs->eip); - printk("CS: %04x EFLAGS: %08x esp: %08x ss: %04x\n", + minios_printk("CS: %04x EFLAGS: %08x esp: %08x ss: %04x\n", regs->xcs, regs->eflags, regs->esp, regs->xss); #else - printk("RIP: %04lx:[<%016lx>] ", regs->cs & 0xffff, regs->rip); - printk("\nRSP: %04lx:%016lx EFLAGS: %08lx\n", + minios_printk("RIP: %04lx:[<%016lx>] ", regs->cs & 0xffff, regs->rip); + minios_printk("\nRSP: %04lx:%016lx EFLAGS: %08lx\n", regs->ss, regs->rsp, regs->eflags); - printk("RAX: %016lx RBX: %016lx RCX: %016lx\n", + minios_printk("RAX: %016lx RBX: %016lx RCX: %016lx\n", regs->rax, regs->rbx, regs->rcx); - printk("RDX: %016lx RSI: %016lx RDI: %016lx\n", + minios_printk("RDX: %016lx RSI: %016lx RDI: %016lx\n", regs->rdx, regs->rsi, regs->rdi); - printk("RBP: %016lx R08: %016lx R09: %016lx\n", + minios_printk("RBP: %016lx R08: %016lx R09: %016lx\n", regs->rbp, regs->r8, regs->r9); - printk("R10: %016lx R11: %016lx R12: %016lx\n", + minios_printk("R10: %016lx R11: %016lx R12: %016lx\n", regs->r10, regs->r11, regs->r12); - printk("R13: %016lx R14: %016lx R15: %016lx\n", + minios_printk("R13: %016lx R14: %016lx R15: %016lx\n", regs->r13, regs->r14, regs->r15); #endif } static void do_trap(int trapnr, char *str, struct pt_regs * regs, unsigned long error_code) { - printk("FATAL: Unhandled Trap %d (%s), error code=0x%lx\n", trapnr, str, error_code); - printk("Regs address %p\n", regs); + minios_printk("FATAL: Unhandled Trap %d (%s), error code=0x%lx\n", trapnr, str, error_code); + minios_printk("Regs address %p\n", regs); dump_regs(regs); - do_exit(); + minios_do_exit(); } #define DO_ERROR(trapnr, str, name) \ @@ -100,22 +100,22 @@ void page_walk(unsigned long virt_address) { pgentry_t *tab = (pgentry_t *)start_info.pt_base, page; unsigned long addr = virt_address; - printk("Pagetable walk from virt %lx, base %lx:\n", virt_address, start_info.pt_base); + minios_printk("Pagetable walk from virt %lx, base %lx:\n", virt_address, start_info.pt_base); #if defined(__x86_64__) page = tab[l4_table_offset(addr)]; tab = pte_to_virt(page); - printk(" L4 = %"PRIpte" (%p) [offset = %lx]\n", page, tab, l4_table_offset(addr)); + minios_printk(" L4 = %"PRIpte" (%p) [offset = %lx]\n", page, tab, l4_table_offset(addr)); #endif page = tab[l3_table_offset(addr)]; tab = pte_to_virt(page); - printk(" L3 = %"PRIpte" (%p) [offset = %lx]\n", page, tab, l3_table_offset(addr)); + minios_printk(" L3 = %"PRIpte" (%p) [offset = %lx]\n", page, tab, l3_table_offset(addr)); page = tab[l2_table_offset(addr)]; tab = pte_to_virt(page); - printk(" L2 = %"PRIpte" (%p) [offset = %lx]\n", page, tab, l2_table_offset(addr)); + minios_printk(" L2 = %"PRIpte" (%p) [offset = %lx]\n", page, tab, l2_table_offset(addr)); page = tab[l1_table_offset(addr)]; - printk(" L1 = %"PRIpte" [offset = %lx]\n", page, l1_table_offset(addr)); + minios_printk(" L1 = %"PRIpte" [offset = %lx]\n", page, l1_table_offset(addr)); } @@ -144,25 +144,25 @@ static int handle_cow(unsigned long addr) { if (!(page & _PAGE_PRESENT)) return 0; /* Only support CoW for the zero page. */ - if (PHYS_PFN(page) != mfn_zero) + if (PHYS_PFN(page) != _minios_mfn_zero) return 0; - new_page = alloc_pages(0); + new_page = minios_alloc_pages(0); memset((void*) new_page, 0, PAGE_SIZE); rc = HYPERVISOR_update_va_mapping(addr & PAGE_MASK, __pte(virt_to_mach(new_page) | L1_PROT), UVMF_INVLPG); if (!rc) return 1; - printk("Map zero page to %lx failed: %d.\n", addr, rc); + minios_printk("Map zero page to %lx failed: %d.\n", addr, rc); return 0; } static void do_stack_walk(unsigned long frame_base) { unsigned long *frame = (void*) frame_base; - printk("base is %#lx ", frame_base); - printk("caller is %#lx\n", frame[1]); + minios_printk("base is %#lx ", frame_base); + minios_printk("caller is %#lx\n", frame[1]); if (frame[0]) do_stack_walk(frame[0]); } @@ -187,10 +187,10 @@ static void dump_mem(unsigned long addr) for (i = ((addr)-16 ) & ~15; i < (((addr)+48 ) & ~15); i++) { if (!(i%16)) - printk("\n%lx:", i); - printk(" %02x", *(unsigned char *)i); + minios_printk("\n%lx:", i); + minios_printk(" %02x", *(unsigned char *)i); } - printk("\n"); + minios_printk("\n"); } #define read_cr2() \ (HYPERVISOR_shared_info->vcpu_info[smp_processor_id()].arch.cr2) @@ -210,17 +210,17 @@ void do_page_fault(struct pt_regs *regs, unsigned long error_code) a recursive fault */ if(handling_pg_fault == 1) { - printk("Page fault in pagetable walk (access to invalid memory?).\n"); + minios_printk("Page fault in pagetable walk (access to invalid memory?).\n"); HYPERVISOR_sched_op(SCHEDOP_shutdown, &sched_shutdown); } handling_pg_fault++; barrier(); #if defined(__x86_64__) - printk("Page fault at linear address %p, rip %p, regs %p, sp %p, our_sp %p, code %lx\n", + minios_printk("Page fault at linear address %p, rip %p, regs %p, sp %p, our_sp %p, code %lx\n", addr, regs->rip, regs, regs->rsp, &addr, error_code); #else - printk("Page fault at linear address %p, eip %p, regs %p, sp %p, our_sp %p, code %lx\n", + minios_printk("Page fault at linear address %p, eip %p, regs %p, sp %p, our_sp %p, code %lx\n", addr, regs->eip, regs, regs->esp, &addr, error_code); #endif @@ -246,9 +246,9 @@ void do_general_protection(struct pt_regs *regs, long error_code) { struct sched_shutdown sched_shutdown = { .reason = SHUTDOWN_crash }; #ifdef __i386__ - printk("GPF eip: %p, error_code=%lx\n", regs->eip, error_code); + minios_printk("GPF eip: %p, error_code=%lx\n", regs->eip, error_code); #else - printk("GPF rip: %p, error_code=%lx\n", regs->rip, error_code); + minios_printk("GPF rip: %p, error_code=%lx\n", regs->rip, error_code); #endif dump_regs(regs); #if defined(__x86_64__) @@ -268,28 +268,28 @@ void do_general_protection(struct pt_regs *regs, long error_code) void do_debug(struct pt_regs * regs) { - printk("Debug exception\n"); + minios_printk("Debug exception\n"); #define TF_MASK 0x100 regs->eflags &= ~TF_MASK; dump_regs(regs); - do_exit(); + minios_do_exit(); } void do_coprocessor_error(struct pt_regs * regs) { - printk("Copro error\n"); + minios_printk("Copro error\n"); dump_regs(regs); - do_exit(); + minios_do_exit(); } void simd_math_error(void *eip) { - printk("SIMD error\n"); + minios_printk("SIMD error\n"); } void do_simd_coprocessor_error(struct pt_regs * regs) { - printk("SIMD copro error\n"); + minios_printk("SIMD copro error\n"); } void do_spurious_interrupt_bug(struct pt_regs * regs) diff --git a/xen/arch/x86/x86_64.S b/xen/arch/x86/x86_64.S index de1124d..c2078fc 100644 --- a/xen/arch/x86/x86_64.S +++ b/xen/arch/x86/x86_64.S @@ -24,10 +24,10 @@ _start: movq stack_start(%rip),%rsp andq $(~(__STACK_SIZE-1)), %rsp movq %rsi,%rdi - call start_kernel + call _minios_start_kernel stack_start: - .quad stack+(2*__STACK_SIZE) + .quad _minios_stack+(2*__STACK_SIZE) /* Unpleasant -- the PTE that maps this page is actually overwritten */ /* to map the real shared-info page! :-) */ @@ -67,7 +67,7 @@ NMI_MASK = 0x80000000 testl $NMI_MASK,2*8(%rsp) jnz 2f - testb $1,(xen_features+XENFEAT_supervisor_mode_kernel) + testb $1,(_minios_xen_features+XENFEAT_supervisor_mode_kernel) jnz 1f /* Direct iret to kernel space. Correct CS and SS. */ @@ -151,7 +151,7 @@ hypervisor_callback2: incl %gs:0 cmovzq %rax,%rsp pushq %rdi - call do_hypervisor_callback + call _minios_do_hypervisor_callback popq %rsp decl %gs:0 jmp error_exit @@ -290,7 +290,7 @@ ENTRY(thread_starter) pushq $0 xorq %rbp,%rbp call *%rbx - call exit_thread + call minios_exit_thread ENTRY(arch_switch_threads) diff --git a/xen/blkfront.c b/xen/blkfront.c index c85809d..e74ec7b 100644 --- a/xen/blkfront.c +++ b/xen/blkfront.c @@ -51,25 +51,25 @@ struct blkfront_dev { void blkfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data) { - wake_up(&blkfront_queue); + minios_wake_up(&blkfront_queue); } static void free_blkfront(struct blkfront_dev *dev) { - mask_evtchn(dev->evtchn); + minios_mask_evtchn(dev->evtchn); free(dev->backend); gnttab_end_access(dev->ring_ref); - free_page(dev->ring.sring); + minios_free_page(dev->ring.sring); - unbind_evtchn(dev->evtchn); + minios_unbind_evtchn(dev->evtchn); free(dev->nodename); free(dev); } -struct blkfront_dev *init_blkfront(char *_nodename, struct blkfront_info *info) +struct blkfront_dev *blkfront_init(char *_nodename, struct blkfront_info *info) { xenbus_transaction_t xbt; char* err; @@ -90,9 +90,9 @@ struct blkfront_dev *init_blkfront(char *_nodename, struct blkfront_info *info) snprintf(path, sizeof(path), "%s/backend-id", nodename); dev->dom = xenbus_read_integer(path); - evtchn_alloc_unbound(dev->dom, blkfront_handler, dev, &dev->evtchn); + minios_evtchn_alloc_unbound(dev->dom, blkfront_handler, dev, &dev->evtchn); - s = (struct blkif_sring*) alloc_page(); + s = (struct blkif_sring*) minios_alloc_page(); memset(s,0,PAGE_SIZE); @@ -106,7 +106,7 @@ struct blkfront_dev *init_blkfront(char *_nodename, struct blkfront_info *info) again: err = xenbus_transaction_start(&xbt); if (err) { - printk("starting transaction\n"); + minios_printk("starting transaction\n"); free(err); } @@ -141,7 +141,7 @@ again: if (err) free(err); if (retry) { goto again; - printk("completing transaction\n"); + minios_printk("completing transaction\n"); } goto done; @@ -149,7 +149,7 @@ again: abort_transaction: free(err); err = xenbus_transaction_end(xbt, 1, &retry); - printk("Abort transaction %s\n", message); + minios_printk("Abort transaction %s\n", message); goto error; done: @@ -157,11 +157,11 @@ done: snprintf(path, sizeof(path), "%s/backend", nodename); msg = xenbus_read(XBT_NIL, path, &dev->backend); if (msg) { - printk("Error %s when reading the backend path %s\n", msg, path); + minios_printk("Error %s when reading the backend path %s\n", msg, path); goto error; } - printk("blkfront: node=%s backend=%s\n", nodename, dev->backend); + minios_printk("blkfront: node=%s backend=%s\n", nodename, dev->backend); dev->handle = strtoul(strrchr(nodename, '/')+1, NULL, 10); @@ -171,7 +171,7 @@ done: snprintf(path, sizeof(path), "%s/mode", dev->backend); msg = xenbus_read(XBT_NIL, path, &c); if (msg) { - printk("Error %s when reading the mode\n", msg); + minios_printk("Error %s when reading the mode\n", msg); goto error; } if (*c == 'w') @@ -189,7 +189,7 @@ done: while (msg == NULL && state < XenbusStateConnected) msg = xenbus_wait_for_state_change(path, &state, &dev->events); if (msg != NULL || state != XenbusStateConnected) { - printk("backend not available, state=%d\n", state); + minios_printk("backend not available, state=%d\n", state); xenbus_unwatch_path_token(XBT_NIL, path, path); goto error; } @@ -212,9 +212,9 @@ done: *info = dev->info; } - unmask_evtchn(dev->evtchn); + minios_unmask_evtchn(dev->evtchn); - printk("blkfront: %u sectors\n", dev->info.sectors); + minios_printk("blkfront: %u sectors\n", dev->info.sectors); return dev; @@ -225,7 +225,7 @@ error: return NULL; } -void shutdown_blkfront(struct blkfront_dev *dev) +void blkfront_shutdown(struct blkfront_dev *dev) { char* err = NULL; XenbusState state; @@ -235,13 +235,13 @@ void shutdown_blkfront(struct blkfront_dev *dev) blkfront_sync(dev); - printk("blkfront detached: node=%s\n", dev->nodename); + minios_printk("blkfront detached: node=%s\n", dev->nodename); snprintf(path, sizeof(path), "%s/state", dev->backend); snprintf(nodename, sizeof(nodename), "%s/state", dev->nodename); if ((err = xenbus_switch_state(XBT_NIL, nodename, XenbusStateClosing)) != NULL) { - printk("shutdown_blkfront: error changing state to %d: %s\n", + minios_printk("shutdown_blkfront: error changing state to %d: %s\n", XenbusStateClosing, err); goto close; } @@ -251,7 +251,7 @@ void shutdown_blkfront(struct blkfront_dev *dev) if (err) free(err); if ((err = xenbus_switch_state(XBT_NIL, nodename, XenbusStateClosed)) != NULL) { - printk("shutdown_blkfront: error changing state to %d: %s\n", + minios_printk("shutdown_blkfront: error changing state to %d: %s\n", XenbusStateClosed, err); goto close; } @@ -262,7 +262,7 @@ void shutdown_blkfront(struct blkfront_dev *dev) } if ((err = xenbus_switch_state(XBT_NIL, nodename, XenbusStateInitialising)) != NULL) { - printk("shutdown_blkfront: error changing state to %d: %s\n", + minios_printk("shutdown_blkfront: error changing state to %d: %s\n", XenbusStateInitialising, err); goto close; } @@ -296,12 +296,12 @@ static void blkfront_wait_slot(struct blkfront_dev *dev) if (!RING_FULL(&dev->ring)) break; /* Really no slot, go to sleep. */ - add_waiter(w, blkfront_queue); + minios_add_waiter(w, blkfront_queue); local_irq_restore(flags); - schedule(); + minios_schedule(); local_irq_save(flags); } - remove_waiter(w, blkfront_queue); + minios_remove_waiter(w, blkfront_queue); local_irq_restore(flags); } } @@ -387,12 +387,12 @@ void blkfront_io(struct blkfront_aiocb *aiocbp, int write) if (aiocbp->data) break; - add_waiter(w, blkfront_queue); + minios_add_waiter(w, blkfront_queue); local_irq_restore(flags); - schedule(); + minios_schedule(); local_irq_save(flags); } - remove_waiter(w, blkfront_queue); + minios_remove_waiter(w, blkfront_queue); local_irq_restore(flags); } @@ -443,12 +443,12 @@ void blkfront_sync(struct blkfront_dev *dev) if (RING_FREE_REQUESTS(&dev->ring) == RING_SIZE(&dev->ring)) break; - add_waiter(w, blkfront_queue); + minios_add_waiter(w, blkfront_queue); local_irq_restore(flags); - schedule(); + minios_schedule(); local_irq_save(flags); } - remove_waiter(w, blkfront_queue); + minios_remove_waiter(w, blkfront_queue); local_irq_restore(flags); } @@ -478,7 +478,7 @@ moretodo: status = rsp->status; if (status != BLKIF_RSP_OKAY) - printk("block error %d for op %d\n", status, rsp->operation); + minios_printk("block error %d for op %d\n", status, rsp->operation); switch (rsp->operation) { case BLKIF_OP_READ: @@ -497,7 +497,7 @@ moretodo: break; default: - printk("unrecognized block operation %d response\n", rsp->operation); + minios_printk("unrecognized block operation %d response\n", rsp->operation); } dev->ring.rsp_cons = ++cons; diff --git a/xen/console/console.c b/xen/console/console.c index dc6bf69..5cba6e8 100644 --- a/xen/console/console.c +++ b/xen/console/console.c @@ -64,10 +64,10 @@ void xencons_rx(char *buf, unsigned len, struct pt_regs *regs) { /* Just repeat what's written */ buf[len] = '\0'; - printk("%s", buf); + minios_printk("%s", buf); if(buf[len-1] == '\r') - printk("\nNo console input handler.\n"); + minios_printk("\nNo console input handler.\n"); } } @@ -77,7 +77,7 @@ void xencons_tx(void) } -void console_print(struct consfront_dev *dev, char *data, int length) +void minios_console_print(struct consfront_dev *dev, char *data, int length) { char *curr_char, saved_char; char copied_str[length+1]; @@ -138,11 +138,11 @@ void print(int direct, const char *fmt, va_list args) #endif (void)HYPERVISOR_console_io(CONSOLEIO_write, strlen(buf), buf); - console_print(NULL, buf, strlen(buf)); + minios_console_print(NULL, buf, strlen(buf)); } } -void printk(const char *fmt, ...) +void minios_printk(const char *fmt, ...) { va_list args; va_start(args, fmt); @@ -159,9 +159,9 @@ void xprintk(const char *fmt, ...) } void init_console(void) { - printk("Initialising console ... "); + minios_printk("Initialising console ... "); xencons_ring_init(); console_initialised = 1; /* This is also required to notify the daemon */ - printk("done.\n"); + minios_printk("done.\n"); } diff --git a/xen/console/xenbus.c b/xen/console/xenbus.c index a164314..56a0feb 100644 --- a/xen/console/xenbus.c +++ b/xen/console/xenbus.c @@ -30,7 +30,7 @@ void free_consfront(struct consfront_dev *dev) snprintf(nodename, sizeof(nodename), "%s/state", dev->nodename); if ((err = xenbus_switch_state(XBT_NIL, nodename, XenbusStateClosing)) != NULL) { - printk("free_consfront: error changing state to %d: %s\n", + minios_printk("free_consfront: error changing state to %d: %s\n", XenbusStateClosing, err); goto close; } @@ -40,7 +40,7 @@ void free_consfront(struct consfront_dev *dev) if (err) free(err); if ((err = xenbus_switch_state(XBT_NIL, nodename, XenbusStateClosed)) != NULL) { - printk("free_consfront: error changing state to %d: %s\n", + minios_printk("free_consfront: error changing state to %d: %s\n", XenbusStateClosed, err); goto close; } @@ -49,14 +49,14 @@ close: if (err) free(err); xenbus_unwatch_path_token(XBT_NIL, path, path); - mask_evtchn(dev->evtchn); - unbind_evtchn(dev->evtchn); + minios_mask_evtchn(dev->evtchn); + minios_unbind_evtchn(dev->evtchn); free(dev->backend); free(dev->nodename); gnttab_end_access(dev->ring_ref); - free_page(dev->ring); + minios_free_page(dev->ring); free(dev); } @@ -78,7 +78,7 @@ struct consfront_dev *init_consfront(char *_nodename) else strncpy(nodename, _nodename, sizeof(nodename)); - printk("******************* CONSFRONT for %s **********\n\n\n", nodename); + minios_printk("******************* CONSFRONT for %s **********\n\n\n", nodename); consfrontends++; dev = malloc(sizeof(*dev)); @@ -90,9 +90,9 @@ struct consfront_dev *init_consfront(char *_nodename) return NULL; else dev->dom = res; - evtchn_alloc_unbound(dev->dom, console_handle_input, dev, &dev->evtchn); + minios_evtchn_alloc_unbound(dev->dom, console_handle_input, dev, &dev->evtchn); - dev->ring = (struct xencons_interface *) alloc_page(); + dev->ring = (struct xencons_interface *) minios_alloc_page(); memset(dev->ring, 0, PAGE_SIZE); dev->ring_ref = gnttab_grant_access(dev->dom, virt_to_mfn(dev->ring), 0); @@ -101,7 +101,7 @@ struct consfront_dev *init_consfront(char *_nodename) again: err = xenbus_transaction_start(&xbt); if (err) { - printk("starting transaction\n"); + minios_printk("starting transaction\n"); free(err); } @@ -142,7 +142,7 @@ again: if (err) free(err); if (retry) { goto again; - printk("completing transaction\n"); + minios_printk("completing transaction\n"); } goto done; @@ -150,7 +150,7 @@ again: abort_transaction: free(err); err = xenbus_transaction_end(xbt, 1, &retry); - printk("Abort transaction %s\n", message); + minios_printk("Abort transaction %s\n", message); goto error; done: @@ -158,11 +158,11 @@ done: snprintf(path, sizeof(path), "%s/backend", nodename); msg = xenbus_read(XBT_NIL, path, &dev->backend); if (msg) { - printk("Error %s when reading the backend path %s\n", msg, path); + minios_printk("Error %s when reading the backend path %s\n", msg, path); goto error; } - printk("backend at %s\n", dev->backend); + minios_printk("backend at %s\n", dev->backend); { XenbusState state; @@ -175,14 +175,14 @@ done: while (msg == NULL && state < XenbusStateConnected) msg = xenbus_wait_for_state_change(path, &state, &dev->events); if (msg != NULL || state != XenbusStateConnected) { - printk("backend not available, state=%d\n", state); + minios_printk("backend not available, state=%d\n", state); xenbus_unwatch_path_token(XBT_NIL, path, path); goto error; } } - unmask_evtchn(dev->evtchn); + minios_unmask_evtchn(dev->evtchn); - printk("**************************\n"); + minios_printk("**************************\n"); return dev; diff --git a/xen/console/xencons_ring.c b/xen/console/xencons_ring.c index 9ee1965..6ab13f3 100644 --- a/xen/console/xencons_ring.c +++ b/xen/console/xencons_ring.c @@ -121,13 +121,13 @@ struct consfront_dev *xencons_ring_init(void) dev->evtchn = start_info.console.domU.evtchn; dev->ring = (struct xencons_interface *) mfn_to_virt(start_info.console.domU.mfn); - err = bind_evtchn(dev->evtchn, console_handle_input, dev); + err = minios_bind_evtchn(dev->evtchn, console_handle_input, dev); if (err <= 0) { - printk("XEN console request chn bind failed %i\n", err); + minios_printk("XEN console request chn bind failed %i\n", err); free(dev); return NULL; } - unmask_evtchn(dev->evtchn); + minios_unmask_evtchn(dev->evtchn); /* In case we have in-flight data after save/restore... */ notify_daemon(dev); diff --git a/xen/events.c b/xen/events.c index 2f359a5..32dc1e2 100644 --- a/xen/events.c +++ b/xen/events.c @@ -53,13 +53,13 @@ void unbind_all_ports(void) if ( test_and_clear_bit(i, bound_ports) ) { struct evtchn_close close; - printk("port %d still bound!\n", i); - mask_evtchn(i); + minios_printk("port %d still bound!\n", i); + minios_mask_evtchn(i); close.port = i; rc = HYPERVISOR_event_channel_op(EVTCHNOP_close, &close); if ( rc ) - printk("WARN: close_port %s failed rc=%d. ignored\n", i, rc); - clear_evtchn(i); + minios_printk("WARN: close_port %s failed rc=%d. ignored\n", i, rc); + minios_clear_evtchn(i); } } vcpu_info->evtchn_upcall_pending = 0; @@ -73,11 +73,11 @@ int do_event(evtchn_port_t port, struct pt_regs *regs) { ev_action_t *action; - clear_evtchn(port); + minios_clear_evtchn(port); if ( port >= NR_EVS ) { - printk("WARN: do_event(): Port number too large: %d\n", port); + minios_printk("WARN: do_event(): Port number too large: %d\n", port); return 1; } @@ -91,11 +91,11 @@ int do_event(evtchn_port_t port, struct pt_regs *regs) } -evtchn_port_t bind_evtchn(evtchn_port_t port, evtchn_handler_t handler, +evtchn_port_t minios_bind_evtchn(evtchn_port_t port, evtchn_handler_t handler, void *data) { if ( ev_actions[port].handler != default_handler ) - printk("WARN: Handler for port %d already registered, replacing\n", + minios_printk("WARN: Handler for port %d already registered, replacing\n", port); ev_actions[port].data = data; @@ -106,15 +106,15 @@ evtchn_port_t bind_evtchn(evtchn_port_t port, evtchn_handler_t handler, return port; } -void unbind_evtchn(evtchn_port_t port ) +void minios_unbind_evtchn(evtchn_port_t port ) { struct evtchn_close close; - int rc; + int rc; if ( ev_actions[port].handler == default_handler ) - printk("WARN: No handler for port %d when unbinding\n", port); - mask_evtchn(port); - clear_evtchn(port); + minios_printk("WARN: No handler for port %d when unbinding\n", port); + minios_mask_evtchn(port); + minios_clear_evtchn(port); ev_actions[port].handler = default_handler; wmb(); @@ -123,15 +123,15 @@ void unbind_evtchn(evtchn_port_t port ) close.port = port; rc = HYPERVISOR_event_channel_op(EVTCHNOP_close, &close); - if ( rc ) - printk("WARN: close_port %s failed rc=%d. ignored\n", port, rc); + if ( rc ) + minios_printk("WARN: close_port %s failed rc=%d. ignored\n", port, rc); } -evtchn_port_t bind_virq(uint32_t virq, evtchn_handler_t handler, void *data) +evtchn_port_t minios_bind_virq(uint32_t virq, evtchn_handler_t handler, void *data) { evtchn_bind_virq_t op; - int rc; + int rc; /* Try to bind the virq to a port */ op.virq = virq; @@ -139,18 +139,18 @@ evtchn_port_t bind_virq(uint32_t virq, evtchn_handler_t handler, void *data) if ( (rc = HYPERVISOR_event_channel_op(EVTCHNOP_bind_virq, &op)) != 0 ) { - printk("Failed to bind virtual IRQ %d with rc=%d\n", virq, rc); + minios_printk("Failed to bind virtual IRQ %d with rc=%d\n", virq, rc); return -1; - } - bind_evtchn(op.port, handler, data); + } + minios_bind_evtchn(op.port, handler, data); return op.port; } -evtchn_port_t bind_pirq(uint32_t pirq, int will_share, +evtchn_port_t minios_bind_pirq(uint32_t pirq, int will_share, evtchn_handler_t handler, void *data) { evtchn_bind_pirq_t op; - int rc; + int rc; /* Try to bind the pirq to a port */ op.pirq = pirq; @@ -158,15 +158,15 @@ evtchn_port_t bind_pirq(uint32_t pirq, int will_share, if ( (rc = HYPERVISOR_event_channel_op(EVTCHNOP_bind_pirq, &op)) != 0 ) { - printk("Failed to bind physical IRQ %d with rc=%d\n", pirq, rc); + minios_printk("Failed to bind physical IRQ %d with rc=%d\n", pirq, rc); return -1; } - bind_evtchn(op.port, handler, data); + minios_bind_evtchn(op.port, handler, data); return op.port; } #if defined(__x86_64__) -char irqstack[2 * STACK_SIZE]; +static char irqstack[2 * STACK_SIZE]; static struct pda { @@ -192,7 +192,7 @@ void init_events(void) for ( i = 0; i < NR_EVS; i++ ) { ev_actions[i].handler = default_handler; - mask_evtchn(i); + minios_mask_evtchn(i); } } @@ -207,7 +207,7 @@ void fini_events(void) void default_handler(evtchn_port_t port, struct pt_regs *regs, void *ignore) { - printk("[Port %d] - event received\n", port); + minios_printk("[Port %d] - event received\n", port); } /* Create a port available to the pal for exchanging notifications. @@ -217,7 +217,7 @@ void default_handler(evtchn_port_t port, struct pt_regs *regs, void *ignore) as Xen is concerned, but we automatically bind a handler to it from inside mini-os. */ -int evtchn_alloc_unbound(domid_t pal, evtchn_handler_t handler, +int minios_evtchn_alloc_unbound(domid_t pal, evtchn_handler_t handler, void *data, evtchn_port_t *port) { int rc; @@ -228,17 +228,17 @@ int evtchn_alloc_unbound(domid_t pal, evtchn_handler_t handler, rc = HYPERVISOR_event_channel_op(EVTCHNOP_alloc_unbound, &op); if ( rc ) { - printk("ERROR: alloc_unbound failed with rc=%d", rc); + minios_printk("ERROR: alloc_unbound failed with rc=%d", rc); return rc; } - *port = bind_evtchn(op.port, handler, data); + *port = minios_bind_evtchn(op.port, handler, data); return rc; } /* Connect to a port so as to allow the exchange of notifications with the pal. Returns the result of the hypervisor call. */ -int evtchn_bind_interdomain(domid_t pal, evtchn_port_t remote_port, +int minios_evtchn_bind_interdomain(domid_t pal, evtchn_port_t remote_port, evtchn_handler_t handler, void *data, evtchn_port_t *local_port) { @@ -250,11 +250,11 @@ int evtchn_bind_interdomain(domid_t pal, evtchn_port_t remote_port, rc = HYPERVISOR_event_channel_op(EVTCHNOP_bind_interdomain, &op); if ( rc ) { - printk("ERROR: bind_interdomain failed with rc=%d", rc); + minios_printk("ERROR: bind_interdomain failed with rc=%d", rc); return rc; } port = op.local_port; - *local_port = bind_evtchn(port, handler, data); + *local_port = minios_bind_evtchn(port, handler, data); return rc; } diff --git a/xen/gntmap.c b/xen/gntmap.c index e050ca3..5eb8a1f 100644 --- a/xen/gntmap.c +++ b/xen/gntmap.c @@ -64,7 +64,7 @@ gntmap_find_free_entry(struct gntmap *map) } #ifdef GNTMAP_DEBUG - printk("gntmap_find_free_entry(map=%p): all %d entries full\n", + minios_printk("gntmap_find_free_entry(map=%p): all %d entries full\n", map, map->nentries); #endif return NULL; @@ -86,7 +86,7 @@ int gntmap_set_max_grants(struct gntmap *map, int count) { #ifdef GNTMAP_DEBUG - printk("gntmap_set_max_grants(map=%p, count=%d)\n", map, count); + minios_printk("gntmap_set_max_grants(map=%p, count=%d)\n", map, count); #endif if (map->nentries != 0) @@ -120,7 +120,7 @@ _gntmap_map_grant_ref(struct gntmap_entry *entry, rc = HYPERVISOR_grant_table_op(GNTTABOP_map_grant_ref, &op, 1); if (rc != 0 || op.status != GNTST_okay) { - printk("GNTTABOP_map_grant_ref failed: " + minios_printk("GNTTABOP_map_grant_ref failed: " "returned %d, status %" PRId16 "\n", rc, op.status); return rc != 0 ? rc : op.status; @@ -143,7 +143,7 @@ _gntmap_unmap_grant_ref(struct gntmap_entry *entry) rc = HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, &op, 1); if (rc != 0 || op.status != GNTST_okay) { - printk("GNTTABOP_unmap_grant_ref failed: " + minios_printk("GNTTABOP_unmap_grant_ref failed: " "returned %d, status %" PRId16 "\n", rc, op.status); return rc != 0 ? rc : op.status; @@ -160,14 +160,14 @@ gntmap_munmap(struct gntmap *map, unsigned long start_address, int count) struct gntmap_entry *ent; #ifdef GNTMAP_DEBUG - printk("gntmap_munmap(map=%p, start_address=%lx, count=%d)\n", + minios_printk("gntmap_munmap(map=%p, start_address=%lx, count=%d)\n", map, start_address, count); #endif for (i = 0; i < count; i++) { ent = gntmap_find_entry(map, start_address + PAGE_SIZE * i); if (ent == NULL) { - printk("gntmap: tried to munmap unknown page\n"); + minios_printk("gntmap: tried to munmap unknown page\n"); return -EINVAL; } @@ -192,7 +192,7 @@ gntmap_map_grant_refs(struct gntmap *map, int i; #ifdef GNTMAP_DEBUG - printk("gntmap_map_grant_refs(map=%p, count=%" PRIu32 ", " + minios_printk("gntmap_map_grant_refs(map=%p, count=%" PRIu32 ", " "domids=%p [%" PRIu32 "...], domids_stride=%d, " "refs=%p [%" PRIu32 "...], writable=%d)\n", map, count, @@ -227,7 +227,7 @@ void gntmap_init(struct gntmap *map) { #ifdef GNTMAP_DEBUG - printk("gntmap_init(map=%p)\n", map); + minios_printk("gntmap_init(map=%p)\n", map); #endif map->nentries = 0; map->entries = NULL; @@ -240,7 +240,7 @@ gntmap_fini(struct gntmap *map) int i; #ifdef GNTMAP_DEBUG - printk("gntmap_fini(map=%p)\n", map); + minios_printk("gntmap_fini(map=%p)\n", map); #endif for (i = 0; i < map->nentries; i++) { diff --git a/xen/gnttab.c b/xen/gnttab.c index 32a5794..2c81231 100644 --- a/xen/gnttab.c +++ b/xen/gnttab.c @@ -111,7 +111,7 @@ gnttab_end_access(grant_ref_t ref) nflags = gnttab_table[ref].flags; do { if ((flags = nflags) & (GTF_reading|GTF_writing)) { - printk("WARNING: g.e. still in use! (%x)\n", flags); + minios_printk("WARNING: g.e. still in use! (%x)\n", flags); return 0; } } while ((nflags = synch_cmpxchg(&gnttab_table[ref].flags, flags, 0)) != @@ -131,7 +131,7 @@ gnttab_end_transfer(grant_ref_t ref) while (!((flags = gnttab_table[ref].flags) & GTF_transfer_committed)) { if (synch_cmpxchg(&gnttab_table[ref].flags, flags, 0) == flags) { - printk("Release unused transfer grant.\n"); + minios_printk("Release unused transfer grant.\n"); put_free_entry(ref); return 0; } @@ -157,7 +157,7 @@ gnttab_alloc_and_grant(void **map) unsigned long mfn; grant_ref_t gref; - *map = (void *)alloc_page(); + *map = (void *)minios_alloc_page(); mfn = virt_to_mfn(*map); gref = gnttab_grant_access(0, mfn, 0); return gref; @@ -194,7 +194,7 @@ init_gnttab(void) HYPERVISOR_grant_table_op(GNTTABOP_setup_table, &setup, 1); gnttab_table = map_frames(frames, NR_GRANT_FRAMES); - printk("gnttab_table mapped at %p.\n", gnttab_table); + minios_printk("gnttab_table mapped at %p.\n", gnttab_table); } void diff --git a/xen/hypervisor.c b/xen/hypervisor.c index b4688a0..e4d8bbd 100644 --- a/xen/hypervisor.c +++ b/xen/hypervisor.c @@ -34,9 +34,9 @@ ((sh)->evtchn_pending[idx] & \ ~(sh)->evtchn_mask[idx]) -int in_callback; +int _minios_in_hypervisor_callback; -void do_hypervisor_callback(struct pt_regs *regs) +void _minios_do_hypervisor_callback(struct pt_regs *regs) { unsigned long l1, l2, l1i, l2i; unsigned int port; @@ -44,7 +44,7 @@ void do_hypervisor_callback(struct pt_regs *regs) shared_info_t *s = HYPERVISOR_shared_info; vcpu_info_t *vcpu_info = &s->vcpu_info[cpu]; - in_callback = 1; + _minios_in_hypervisor_callback = 1; vcpu_info->evtchn_upcall_pending = 0; /* NB x86. No need for a barrier here -- XCHG is a barrier on x86. */ @@ -68,10 +68,10 @@ void do_hypervisor_callback(struct pt_regs *regs) } } - in_callback = 0; + _minios_in_hypervisor_callback = 0; } -void force_evtchn_callback(void) +void minios_force_evtchn_callback(void) { int save; vcpu_info_t *vcpu; @@ -81,20 +81,20 @@ void force_evtchn_callback(void) while (vcpu->evtchn_upcall_pending) { vcpu->evtchn_upcall_mask = 1; barrier(); - do_hypervisor_callback(NULL); + _minios_do_hypervisor_callback(NULL); barrier(); vcpu->evtchn_upcall_mask = save; barrier(); }; } -inline void mask_evtchn(uint32_t port) +inline void minios_mask_evtchn(uint32_t port) { shared_info_t *s = HYPERVISOR_shared_info; synch_set_bit(port, &s->evtchn_mask[0]); } -inline void unmask_evtchn(uint32_t port) +inline void minios_unmask_evtchn(uint32_t port) { shared_info_t *s = HYPERVISOR_shared_info; vcpu_info_t *vcpu_info = &s->vcpu_info[smp_processor_id()]; @@ -111,11 +111,11 @@ inline void unmask_evtchn(uint32_t port) { vcpu_info->evtchn_upcall_pending = 1; if ( !vcpu_info->evtchn_upcall_mask ) - force_evtchn_callback(); + minios_force_evtchn_callback(); } } -inline void clear_evtchn(uint32_t port) +inline void minios_clear_evtchn(uint32_t port) { shared_info_t *s = HYPERVISOR_shared_info; synch_clear_bit(port, &s->evtchn_pending[0]); diff --git a/xen/kernel.c b/xen/kernel.c index dbd78ff..f3151a9 100644 --- a/xen/kernel.c +++ b/xen/kernel.c @@ -47,7 +47,7 @@ #include "netbsd_init.h" -uint8_t xen_features[XENFEAT_NR_SUBMAPS * 32]; +uint8_t _minios_xen_features[XENFEAT_NR_SUBMAPS * 32]; void setup_xen_features(void) { @@ -61,7 +61,7 @@ void setup_xen_features(void) break; for (j=0; j<32; j++) - xen_features[i*32+j] = !!(fi.submap & 1<nr_pages); - printk(" shared_inf: 0x%08lx(MA)\n", si->shared_info); - printk(" pt_base: %p(VA)\n", (void *)si->pt_base); - printk("nr_pt_frames: 0x%lx\n", si->nr_pt_frames); - printk(" mfn_list: %p(VA)\n", (void *)si->mfn_list); - printk(" mod_start: 0x%lx(VA)\n", si->mod_start); - printk(" mod_len: %lu\n", si->mod_len); - printk(" flags: 0x%x\n", (unsigned int)si->flags); - printk(" cmd_line: %s\n", + minios_printk(" start_info: %p(VA)\n", si); + minios_printk(" nr_pages: 0x%lx\n", si->nr_pages); + minios_printk(" shared_inf: 0x%08lx(MA)\n", si->shared_info); + minios_printk(" pt_base: %p(VA)\n", (void *)si->pt_base); + minios_printk("nr_pt_frames: 0x%lx\n", si->nr_pt_frames); + minios_printk(" mfn_list: %p(VA)\n", (void *)si->mfn_list); + minios_printk(" mod_start: 0x%lx(VA)\n", si->mod_start); + minios_printk(" mod_len: %lu\n", si->mod_len); + minios_printk(" flags: 0x%x\n", (unsigned int)si->flags); + minios_printk(" cmd_line: %s\n", si->cmd_line ? (const char *)si->cmd_line : "NULL"); /* Set up events. */ @@ -131,7 +131,7 @@ void start_kernel(start_info_t *si) init_xenbus(); /* Call (possibly overridden) app_main() */ - create_thread("main", NULL, _app_main, &start_info, NULL); + minios_create_thread("main", NULL, _app_main, &start_info, NULL); /* Everything initialised, start idle thread */ run_idle_thread(); @@ -172,9 +172,9 @@ void stop_kernel(void) * Of course, minimal OS doesn't have applications :-) */ -void do_exit(void) +void minios_do_exit(void) { - printk("Do_exit called!\n"); + minios_printk("Do_exit called!\n"); stack_walk(); for( ;; ) { diff --git a/xen/mm.c b/xen/mm.c index 2a4d720..58c7118 100644 --- a/xen/mm.c +++ b/xen/mm.c @@ -46,7 +46,7 @@ #ifdef MM_DEBUG #define DEBUG(_f, _a...) \ - printk("MINI_OS(file=mm.c, line=%d) " _f "\n", __LINE__, ## _a) + minios_printk("MINI_OS(file=mm.c, line=%d) " _f "\n", __LINE__, ## _a) #else #define DEBUG(_f, _a...) ((void)0) #endif @@ -152,10 +152,10 @@ USED static void print_allocation(void *start, int nr_pages) unsigned long pfn_start = virt_to_pfn(start); int count; for(count = 0; count < nr_pages; count++) - if(allocated_in_map(pfn_start + count)) printk("1"); - else printk("0"); + if(allocated_in_map(pfn_start + count)) minios_printk("1"); + else minios_printk("0"); - printk("\n"); + minios_printk("\n"); } /* @@ -190,7 +190,7 @@ USED static void print_chunks(void *start, int nr_pages) } } chunks[nr_pages] = '\0'; - printk("%s\n", chunks); + minios_printk("%s\n", chunks); } #endif @@ -257,7 +257,7 @@ static void init_page_allocator(unsigned long min, unsigned long max) /* Allocate 2^@order contiguous pages. Returns a VIRTUAL address. */ -unsigned long alloc_pages(int order) +unsigned long minios_alloc_pages(int order) { int i; chunk_head_t *alloc_ch, *spare_ch; @@ -302,12 +302,12 @@ unsigned long alloc_pages(int order) no_memory: - printk("Cannot handle page request order %d!\n", order); + minios_printk("Cannot handle page request order %d!\n", order); return 0; } -void free_pages(void *pointer, int order) +void minios_free_pages(void *pointer, int order) { chunk_head_t *freed_ch, *to_merge_ch; chunk_tail_t *freed_ct; @@ -384,17 +384,17 @@ void init_mm(void) unsigned long start_pfn, max_pfn; - printk("MM: Init\n"); + minios_printk("MM: Init\n"); arch_init_mm(&start_pfn, &max_pfn); /* * now we can initialise the page allocator */ - printk("MM: Initialise page allocator for %lx(%lx)-%lx(%lx)\n", + minios_printk("MM: Initialise page allocator for %lx(%lx)-%lx(%lx)\n", (u_long)to_virt(PFN_PHYS(start_pfn)), PFN_PHYS(start_pfn), (u_long)to_virt(PFN_PHYS(max_pfn)), PFN_PHYS(max_pfn)); init_page_allocator(PFN_PHYS(start_pfn), PFN_PHYS(max_pfn)); - printk("MM: done\n"); + minios_printk("MM: done\n"); arch_init_p2m(max_pfn); diff --git a/xen/netfront.c b/xen/netfront.c index a89a0dd..b65b499 100644 --- a/xen/netfront.c +++ b/xen/netfront.c @@ -102,7 +102,7 @@ moretodo: if (rx->flags & NETRXF_extra_info) { - printk("+++++++++++++++++++++ we have extras!\n"); + minios_printk("+++++++++++++++++++++ we have extras!\n"); continue; } @@ -173,7 +173,7 @@ void network_tx_buf_gc(struct netfront_dev *dev) continue; if (txrsp->status == NETIF_RSP_ERROR) - printk("packet error\n"); + minios_printk("packet error\n"); id = txrsp->id; BUG_ON(id >= NET_TX_RING_SIZE); @@ -224,7 +224,7 @@ static void free_netfront(struct netfront_dev *dev) for(i=0;itx_sem); - mask_evtchn(dev->evtchn); + minios_mask_evtchn(dev->evtchn); free(dev->mac); free(dev->backend); @@ -232,25 +232,25 @@ static void free_netfront(struct netfront_dev *dev) gnttab_end_access(dev->rx_ring_ref); gnttab_end_access(dev->tx_ring_ref); - free_page(dev->rx.sring); - free_page(dev->tx.sring); + minios_free_page(dev->rx.sring); + minios_free_page(dev->tx.sring); - unbind_evtchn(dev->evtchn); + minios_unbind_evtchn(dev->evtchn); for(i=0;irx_buffers[i].gref); - free_page(dev->rx_buffers[i].page); + minios_free_page(dev->rx_buffers[i].page); } for(i=0;itx_buffers[i].page) - free_page(dev->tx_buffers[i].page); + minios_free_page(dev->tx_buffers[i].page); free(dev->nodename); free(dev); } -struct netfront_dev *init_netfront(char *_nodename, void (*thenetif_rx)(struct netfront_dev *, unsigned char* data, int len), unsigned char rawmac[6], char **ip, void *priv) +struct netfront_dev *netfront_init(char *_nodename, void (*thenetif_rx)(struct netfront_dev *, unsigned char* data, int len), unsigned char rawmac[6], char **ip, void *priv) { xenbus_transaction_t xbt; char* err; @@ -276,8 +276,8 @@ struct netfront_dev *init_netfront(char *_nodename, void (*thenetif_rx)(struct n dev->nodename = strdup(nodename); dev->netfront_priv = priv; - printk("net TX ring size %d\n", NET_TX_RING_SIZE); - printk("net RX ring size %d\n", NET_RX_RING_SIZE); + minios_printk("net TX ring size %d\n", NET_TX_RING_SIZE); + minios_printk("net RX ring size %d\n", NET_RX_RING_SIZE); init_SEMAPHORE(&dev->tx_sem, NET_TX_RING_SIZE); for(i=0;irx_buffers[i].page = (char*)alloc_page(); + dev->rx_buffers[i].page = (char*)minios_alloc_page(); } snprintf(path, sizeof(path), "%s/backend-id", nodename); dev->dom = xenbus_read_integer(path); - evtchn_alloc_unbound(dev->dom, netfront_handler, dev, &dev->evtchn); + minios_evtchn_alloc_unbound(dev->dom, netfront_handler, dev, &dev->evtchn); - txs = (struct netif_tx_sring *) alloc_page(); - rxs = (struct netif_rx_sring *) alloc_page(); + txs = (struct netif_tx_sring *) minios_alloc_page(); + rxs = (struct netif_rx_sring *) minios_alloc_page(); memset(txs,0,PAGE_SIZE); memset(rxs,0,PAGE_SIZE); @@ -318,7 +318,7 @@ struct netfront_dev *init_netfront(char *_nodename, void (*thenetif_rx)(struct n again: err = xenbus_transaction_start(&xbt); if (err) { - printk("starting transaction\n"); + minios_printk("starting transaction\n"); free(err); } @@ -364,7 +364,7 @@ again: if (err) free(err); if (retry) { goto again; - printk("completing transaction\n"); + minios_printk("completing transaction\n"); } goto done; @@ -372,7 +372,7 @@ again: abort_transaction: free(err); err = xenbus_transaction_end(xbt, 1, &retry); - printk("Abort transaction %s\n", message); + minios_printk("Abort transaction %s\n", message); goto error; done: @@ -383,12 +383,12 @@ done: msg = xenbus_read(XBT_NIL, path, &dev->mac); if ((dev->backend == NULL) || (dev->mac == NULL)) { - printk("%s: backend/mac failed\n", __func__); + minios_printk("%s: backend/mac failed\n", __func__); goto error; } - printk("netfront: node=%s backend=%s\n", nodename, dev->backend); - printk("netfront: MAC %s\n", dev->mac); + minios_printk("netfront: node=%s backend=%s\n", nodename, dev->backend); + minios_printk("netfront: MAC %s\n", dev->mac); { XenbusState state; @@ -402,7 +402,7 @@ done: while (err == NULL && state < XenbusStateConnected) err = xenbus_wait_for_state_change(path, &state, &dev->events); if (state != XenbusStateConnected) { - printk("backend not avalable, state=%d\n", state); + minios_printk("backend not avalable, state=%d\n", state); xenbus_unwatch_path_token(XBT_NIL, path, path); goto error; } @@ -413,7 +413,7 @@ done: } } - unmask_evtchn(dev->evtchn); + minios_unmask_evtchn(dev->evtchn); if (rawmac) { char *p; @@ -424,8 +424,8 @@ done: v = strtoul(p, &ep, 16); if (v > 255 || (*ep && *ep != ':')) { - printk("invalid mac string %s\n", dev->mac); - do_exit(); + minios_printk("invalid mac string %s\n", dev->mac); + minios_do_exit(); } rawmac[i] = v; p = ep+1; @@ -441,7 +441,7 @@ error: } -void shutdown_netfront(struct netfront_dev *dev) +void netfront_shutdown(struct netfront_dev *dev) { char* err = NULL; XenbusState state; @@ -449,13 +449,13 @@ void shutdown_netfront(struct netfront_dev *dev) char path[strlen(dev->backend) + 1 + 5 + 1]; char nodename[strlen(dev->nodename) + 1 + 5 + 1]; - printk("close network: backend at %s\n",dev->backend); + minios_printk("close network: backend at %s\n",dev->backend); snprintf(path, sizeof(path), "%s/state", dev->backend); snprintf(nodename, sizeof(nodename), "%s/state", dev->nodename); if ((err = xenbus_switch_state(XBT_NIL, nodename, XenbusStateClosing)) != NULL) { - printk("shutdown_netfront: error changing state to %d: %s\n", + minios_printk("shutdown_netfront: error changing state to %d: %s\n", XenbusStateClosing, err); goto close; } @@ -465,7 +465,7 @@ void shutdown_netfront(struct netfront_dev *dev) if (err) free(err); if ((err = xenbus_switch_state(XBT_NIL, nodename, XenbusStateClosed)) != NULL) { - printk("shutdown_netfront: error changing state to %d: %s\n", + minios_printk("shutdown_netfront: error changing state to %d: %s\n", XenbusStateClosed, err); goto close; } @@ -476,7 +476,7 @@ void shutdown_netfront(struct netfront_dev *dev) } if ((err = xenbus_switch_state(XBT_NIL, nodename, XenbusStateInitialising)) != NULL) { - printk("shutdown_netfront: error changing state to %d: %s\n", + minios_printk("shutdown_netfront: error changing state to %d: %s\n", XenbusStateInitialising, err); goto close; } @@ -555,7 +555,7 @@ void netfront_xmit(struct netfront_dev *dev, unsigned char* data,int len) buf = &dev->tx_buffers[id]; page = buf->page; if (!page) - page = buf->page = (char*) alloc_page(); + page = buf->page = (char*) minios_alloc_page(); i = dev->tx.req_prod_pvt; tx = RING_GET_REQUEST(&dev->tx, i); diff --git a/xen/pcifront.c b/xen/pcifront.c index 7bd3788..728f7d6 100644 --- a/xen/pcifront.c +++ b/xen/pcifront.c @@ -36,7 +36,7 @@ struct pcifront_dev { void pcifront_handler(evtchn_port_t port, struct pt_regs *regs, void *data) { - wake_up(&pcifront_queue); + minios_wake_up(&pcifront_queue); } static void free_pcifront(struct pcifront_dev *dev) @@ -44,12 +44,12 @@ static void free_pcifront(struct pcifront_dev *dev) if (!dev) dev = pcidev; - mask_evtchn(dev->evtchn); + minios_mask_evtchn(dev->evtchn); gnttab_end_access(dev->info_ref); - free_page(dev->info); + minios_free_page(dev->info); - unbind_evtchn(dev->evtchn); + minios_unbind_evtchn(dev->evtchn); free(dev->backend); free(dev->nodename); @@ -71,14 +71,14 @@ void pcifront_watches(void *opaque) snprintf(fe_state, sizeof(fe_state), "%s/state", nodename); while (1) { - printk("pcifront_watches: waiting for backend path to appear %s\n", path); + minios_printk("pcifront_watches: waiting for backend path to appear %s\n", path); xenbus_watch_path_token(XBT_NIL, path, path, &events); while ((err = xenbus_read(XBT_NIL, path, &be_path)) != NULL) { free(err); xenbus_wait_for_watch(&events); } xenbus_unwatch_path_token(XBT_NIL, path, path); - printk("pcifront_watches: waiting for backend to get into the right state %s\n", be_path); + minios_printk("pcifront_watches: waiting for backend to get into the right state %s\n", be_path); be_state = (char *) malloc(strlen(be_path) + 7); snprintf(be_state, strlen(be_path) + 7, "%s/state", be_path); xenbus_watch_path_token(XBT_NIL, be_state, be_state, &events); @@ -95,15 +95,15 @@ void pcifront_watches(void *opaque) } xenbus_watch_path_token(XBT_NIL, be_state, be_state, &events); state = XenbusStateConnected; - printk("pcifront_watches: waiting for backend events %s\n", be_state); + minios_printk("pcifront_watches: waiting for backend events %s\n", be_state); while ((err = xenbus_wait_for_state_change(be_state, &state, &events)) == NULL && (err = xenbus_read(XBT_NIL, pcidev->backend, &msg)) == NULL) { free(msg); - printk("pcifront_watches: backend state changed: %s %d\n", be_state, state); + minios_printk("pcifront_watches: backend state changed: %s %d\n", be_state, state); if (state == XenbusStateReconfiguring) { - printk("pcifront_watches: writing %s %d\n", fe_state, XenbusStateReconfiguring); + minios_printk("pcifront_watches: writing %s %d\n", fe_state, XenbusStateReconfiguring); if ((err = xenbus_switch_state(XBT_NIL, fe_state, XenbusStateReconfiguring)) != NULL) { - printk("pcifront_watches: error changing state to %d: %s\n", + minios_printk("pcifront_watches: error changing state to %d: %s\n", XenbusStateReconfiguring, err); if (!strcmp(err, "ENOENT")) { xenbus_write(XBT_NIL, fe_state, "7"); @@ -111,10 +111,10 @@ void pcifront_watches(void *opaque) } } } else if (state == XenbusStateReconfigured) { - printk("pcifront_watches: writing %s %d\n", fe_state, XenbusStateConnected); - printk("pcifront_watches: changing state to %d\n", XenbusStateConnected); + minios_printk("pcifront_watches: writing %s %d\n", fe_state, XenbusStateConnected); + minios_printk("pcifront_watches: changing state to %d\n", XenbusStateConnected); if ((err = xenbus_switch_state(XBT_NIL, fe_state, XenbusStateConnected)) != NULL) { - printk("pcifront_watches: error changing state to %d: %s\n", + minios_printk("pcifront_watches: error changing state to %d: %s\n", XenbusStateConnected, err); if (!strcmp(err, "ENOENT")) { xenbus_write(XBT_NIL, fe_state, "4"); @@ -125,9 +125,9 @@ void pcifront_watches(void *opaque) break; } if (err) - printk("pcifront_watches: done waiting err=%s\n", err); + minios_printk("pcifront_watches: done waiting err=%s\n", err); else - printk("pcifront_watches: done waiting\n"); + minios_printk("pcifront_watches: done waiting\n"); xenbus_unwatch_path_token(XBT_NIL, be_state, be_state); shutdown_pcifront(pcidev); free(be_state); @@ -159,7 +159,7 @@ struct pcifront_dev *init_pcifront(char *_nodename) snprintf(path, sizeof(path), "%s/backend-id", nodename); dom = xenbus_read_integer(path); if (dom == -1) { - printk("no backend\n"); + minios_printk("no backend\n"); return NULL; } @@ -168,9 +168,9 @@ struct pcifront_dev *init_pcifront(char *_nodename) dev->nodename = strdup(nodename); dev->dom = dom; - evtchn_alloc_unbound(dev->dom, pcifront_handler, dev, &dev->evtchn); + minios_evtchn_alloc_unbound(dev->dom, pcifront_handler, dev, &dev->evtchn); - dev->info = (struct xen_pci_sharedinfo*) alloc_page(); + dev->info = (struct xen_pci_sharedinfo*) minios_alloc_page(); memset(dev->info,0,PAGE_SIZE); dev->info_ref = gnttab_grant_access(dev->dom,virt_to_mfn(dev->info),0); @@ -180,7 +180,7 @@ struct pcifront_dev *init_pcifront(char *_nodename) again: err = xenbus_transaction_start(&xbt); if (err) { - printk("starting transaction\n"); + minios_printk("starting transaction\n"); free(err); } @@ -214,7 +214,7 @@ again: if (err) free(err); if (retry) { goto again; - printk("completing transaction\n"); + minios_printk("completing transaction\n"); } goto done; @@ -222,7 +222,7 @@ again: abort_transaction: free(err); err = xenbus_transaction_end(xbt, 1, &retry); - printk("Abort transaction %s\n", message); + minios_printk("Abort transaction %s\n", message); goto error; done: @@ -230,11 +230,11 @@ done: snprintf(path, sizeof(path), "%s/backend", nodename); msg = xenbus_read(XBT_NIL, path, &dev->backend); if (msg) { - printk("Error %s when reading the backend path %s\n", msg, path); + minios_printk("Error %s when reading the backend path %s\n", msg, path); goto error; } - printk("pcifront: node=%s backend=%s\n", nodename, dev->backend); + minios_printk("pcifront: node=%s backend=%s\n", nodename, dev->backend); { char path[strlen(dev->backend) + 1 + 5 + 1]; @@ -249,7 +249,7 @@ done: while (err == NULL && state < XenbusStateConnected) err = xenbus_wait_for_state_change(path, &state, &dev->events); if (state != XenbusStateConnected) { - printk("backend not avalable, state=%d\n", state); + minios_printk("backend not avalable, state=%d\n", state); xenbus_unwatch_path_token(XBT_NIL, path, path); goto error; } @@ -257,12 +257,12 @@ done: snprintf(frontpath, sizeof(frontpath), "%s/state", nodename); if ((err = xenbus_switch_state(XBT_NIL, frontpath, XenbusStateConnected)) != NULL) { - printk("error switching state %s\n", err); + minios_printk("error switching state %s\n", err); xenbus_unwatch_path_token(XBT_NIL, path, path); goto error; } } - unmask_evtchn(dev->evtchn); + minios_unmask_evtchn(dev->evtchn); if (!_nodename) pcidev = dev; @@ -287,22 +287,22 @@ parsepciaddr(const char *s, unsigned int *domain, unsigned int *bus, *domain = strtoul(s, &ep, 16); if (*ep != ':') { - printk("\"%s\" does not look like a PCI device address\n", s); + minios_printk("\"%s\" does not look like a PCI device address\n", s); return 0; } *bus = strtoul(ep+1, &ep, 16); if (*ep != ':') { - printk("\"%s\" does not look like a PCI device address\n", s); + minios_printk("\"%s\" does not look like a PCI device address\n", s); return 0; } *slot = strtoul(ep+1, &ep, 16); if (*ep != '.') { - printk("\"%s\" does not look like a PCI device address\n", s); + minios_printk("\"%s\" does not look like a PCI device address\n", s); return 0; } *fun = strtoul(ep+1, &ep, 16); if (*ep != '\0') { - printk("\"%s\" does not look like a PCI device address\n", s); + minios_printk("\"%s\" does not look like a PCI device address\n", s); return 0; } @@ -320,7 +320,7 @@ void pcifront_scan(struct pcifront_dev *dev, void (*func)(unsigned int domain, u if (!dev) dev = pcidev; if (!dev) { - printk("pcifront_scan: device or bus\n"); + minios_printk("pcifront_scan: device or bus\n"); return; } @@ -333,7 +333,7 @@ void pcifront_scan(struct pcifront_dev *dev, void (*func)(unsigned int domain, u snprintf(path, len, "%s/dev-%d", dev->backend, i); msg = xenbus_read(XBT_NIL, path, &s); if (msg) { - printk("Error %s when reading the PCI root name at %s\n", msg, path); + minios_printk("Error %s when reading the PCI root name at %s\n", msg, path); continue; } @@ -358,12 +358,12 @@ void shutdown_pcifront(struct pcifront_dev *dev) char path[strlen(dev->backend) + 1 + 5 + 1]; char nodename[strlen(dev->nodename) + 1 + 5 + 1]; - printk("close pci: backend at %s\n",dev->backend); + minios_printk("close pci: backend at %s\n",dev->backend); snprintf(path, sizeof(path), "%s/state", dev->backend); snprintf(nodename, sizeof(nodename), "%s/state", dev->nodename); if ((err = xenbus_switch_state(XBT_NIL, nodename, XenbusStateClosing)) != NULL) { - printk("shutdown_pcifront: error changing state to %d: %s\n", + minios_printk("shutdown_pcifront: error changing state to %d: %s\n", XenbusStateClosing, err); goto close_pcifront; } @@ -373,7 +373,7 @@ void shutdown_pcifront(struct pcifront_dev *dev) if (err) free(err); if ((err = xenbus_switch_state(XBT_NIL, nodename, XenbusStateClosed)) != NULL) { - printk("shutdown_pcifront: error changing state to %d: %s\n", + minios_printk("shutdown_pcifront: error changing state to %d: %s\n", XenbusStateClosed, err); goto close_pcifront; } @@ -384,7 +384,7 @@ void shutdown_pcifront(struct pcifront_dev *dev) } if ((err = xenbus_switch_state(XBT_NIL, nodename, XenbusStateInitialising)) != NULL) { - printk("shutdown_pcifront: error changing state to %d: %s\n", + minios_printk("shutdown_pcifront: error changing state to %d: %s\n", XenbusStateInitialising, err); goto close_pcifront; } @@ -428,7 +428,7 @@ int pcifront_physical_to_virtual (struct pcifront_dev *dev, snprintf(path, sizeof(path), "%s/dev-%d", dev->backend, i); msg = xenbus_read(XBT_NIL, path, &s); if (msg) { - printk("Error %s when reading the PCI root name at %s\n", msg, path); + minios_printk("Error %s when reading the PCI root name at %s\n", msg, path); continue; } @@ -441,7 +441,7 @@ int pcifront_physical_to_virtual (struct pcifront_dev *dev, snprintf(path, sizeof(path), "%s/vdev-%d", dev->backend, i); msg = xenbus_read(XBT_NIL, path, &s); if (msg) { - printk("Error %s when reading the PCI root name at %s\n", msg, path); + minios_printk("Error %s when reading the PCI root name at %s\n", msg, path); continue; } @@ -466,7 +466,7 @@ void pcifront_op(struct pcifront_dev *dev, struct xen_pci_op *op) set_bit(_XEN_PCIF_active, (void*) &dev->info->flags); notify_remote_via_evtchn(dev->evtchn); - wait_event(pcifront_queue, !test_bit(_XEN_PCIF_active, (void*) &dev->info->flags)); + minios_wait_event(pcifront_queue, !test_bit(_XEN_PCIF_active, (void*) &dev->info->flags)); /* Make sure flag is read before info */ rmb(); diff --git a/xen/sched.c b/xen/sched.c index 0cd5586..9d2dfd7 100644 --- a/xen/sched.c +++ b/xen/sched.c @@ -54,16 +54,14 @@ static struct thread_list exited_threads = TAILQ_HEAD_INITIALIZER(exited_threads static struct thread_list thread_list = TAILQ_HEAD_INITIALIZER(thread_list); static int threads_started; -struct thread *main_thread; - void inline print_runqueue(void) { struct thread *th; TAILQ_FOREACH(th, &thread_list, thread_list) { - printk(" Thread \"%s\", runnable=%d\n", th->name, is_runnable(th)); + minios_printk(" Thread \"%s\", runnable=%d\n", th->name, is_runnable(th)); } - printk("\n"); + minios_printk("\n"); } static void (*scheduler_hook)(void *, void *); @@ -76,7 +74,7 @@ void switch_threads(struct thread *prev, struct thread *next) arch_switch_threads(prev, next); } -void schedule(void) +void minios_schedule(void) { struct thread *prev, *next, *thread, *tmp; unsigned long flags; @@ -84,12 +82,12 @@ void schedule(void) prev = current; local_irq_save(flags); - if (in_callback) { - printk("Must not call schedule() from a callback\n"); + if (_minios_in_hypervisor_callback) { + minios_printk("Must not call schedule() from a callback\n"); BUG(); } if (flags) { - printk("Must not call schedule() with IRQs disabled\n"); + minios_printk("Must not call schedule() with IRQs disabled\n"); BUG(); } @@ -106,7 +104,7 @@ void schedule(void) { if (thread->wakeup_time <= now) { thread->flags |= THREAD_TIMEDOUT; - wake(thread); + minios_wake(thread); } else if (thread->wakeup_time < min_wakeup_time) min_wakeup_time = thread->wakeup_time; } @@ -124,7 +122,7 @@ void schedule(void) /* block until the next timeout expires, or for 10 secs, whichever comes first */ block_domain(min_wakeup_time); /* handle pending events if any */ - force_evtchn_callback(); + minios_force_evtchn_callback(); } while(1); local_irq_restore(flags); /* Interrupting the switch is equivalent to having the next thread @@ -137,14 +135,14 @@ void schedule(void) { TAILQ_REMOVE(&exited_threads, thread, thread_list); if ((thread->flags & THREAD_EXTSTACK) == 0) - free_pages(thread->stack, STACK_SIZE_PAGE_ORDER); + minios_free_pages(thread->stack, STACK_SIZE_PAGE_ORDER); xfree(thread); } } } struct thread * -create_thread(const char *name, void *cookie, +minios_create_thread(const char *name, void *cookie, void (*function)(void *), void *data, void *stack) { struct thread *thread; @@ -170,7 +168,7 @@ struct join_waiter { }; static TAILQ_HEAD(, join_waiter) joinwq = TAILQ_HEAD_INITIALIZER(joinwq); -void exit_thread(void) +void minios_exit_thread(void) { unsigned long flags; struct thread *thread = current; @@ -185,12 +183,12 @@ void exit_thread(void) /* see if the joiner is already there */ TAILQ_FOREACH(jw_iter, &joinwq, jw_entries) { if (jw_iter->jw_wanted == thread) { - wake(jw_iter->jw_thread); + minios_wake(jw_iter->jw_thread); break; } } - block(thread); - schedule(); + minios_block(thread); + minios_schedule(); local_irq_save(flags); } @@ -206,13 +204,13 @@ void exit_thread(void) /* Schedule will free the resources */ while(1) { - schedule(); - printk("schedule() returned! Trying again\n"); + minios_schedule(); + minios_printk("schedule() returned! Trying again\n"); } } /* hmm, all of the interfaces here are namespaced "backwards" ... */ -void join_thread(struct thread *joinable) +void minios_join_thread(struct thread *joinable) { struct join_waiter jw; struct thread *thread = get_current(); @@ -227,8 +225,8 @@ void join_thread(struct thread *joinable) jw.jw_thread = thread; jw.jw_wanted = joinable; TAILQ_INSERT_TAIL(&joinwq, &jw, jw_entries); - block(thread); - schedule(); + minios_block(thread); + minios_schedule(); TAILQ_REMOVE(&joinwq, &jw, jw_entries); local_irq_save(flags); @@ -239,10 +237,10 @@ void join_thread(struct thread *joinable) joinable->flags &= ~THREAD_MUSTJOIN; local_irq_restore(flags); - wake(joinable); + minios_wake(joinable); } -void block(struct thread *thread) +void minios_block(struct thread *thread) { thread->wakeup_time = 0LL; clear_runnable(thread); @@ -257,26 +255,26 @@ dosleep(s_time_t wakeuptime) thread->wakeup_time = wakeuptime; thread->flags &= ~THREAD_TIMEDOUT; clear_runnable(thread); - schedule(); + minios_schedule(); rv = !!(thread->flags & THREAD_TIMEDOUT); thread->flags &= ~THREAD_TIMEDOUT; return rv; } -int msleep(uint32_t millisecs) +int minios_msleep(uint32_t millisecs) { return dosleep(NOW() + MILLISECS(millisecs)); } -int absmsleep(uint32_t millisecs) +int minios_absmsleep(uint32_t millisecs) { return dosleep(MILLISECS(millisecs)); } -void wake(struct thread *thread) +void minios_wake(struct thread *thread) { thread->wakeup_time = 0LL; set_runnable(thread); @@ -286,25 +284,25 @@ void idle_thread_fn(void *unused) { threads_started = 1; while (1) { - block(current); - schedule(); + minios_block(current); + minios_schedule(); } } void init_sched(void) { - printk("Initialising scheduler\n"); + minios_printk("Initialising scheduler\n"); - idle_thread = create_thread("Idle", NULL, idle_thread_fn, NULL, NULL); + idle_thread = minios_create_thread("Idle", NULL, idle_thread_fn, NULL, NULL); } -void set_sched_hook(void (*f)(void *, void *)) +void minios_set_sched_hook(void (*f)(void *, void *)) { scheduler_hook = f; } -struct thread *init_mainlwp(void *cookie) +struct thread *minios_init_mainlwp(void *cookie) { current->cookie = cookie; diff --git a/xen/xenbus/xenbus.c b/xen/xenbus/xenbus.c index 9f195dc..0666abc 100644 --- a/xen/xenbus/xenbus.c +++ b/xen/xenbus/xenbus.c @@ -38,7 +38,7 @@ #ifdef XENBUS_DEBUG #define DEBUG(_f, _a...) \ - printk("MINI_OS(file=xenbus.c, line=%d) " _f , __LINE__, ## _a) + minios_printk("MINI_OS(file=xenbus.c, line=%d) " _f , __LINE__, ## _a) #else #define DEBUG(_f, _a...) ((void)0) #endif @@ -69,14 +69,14 @@ spinlock_t xenbus_req_lock = SPIN_LOCK_UNLOCKED; static void queue_wakeup(struct xenbus_event_queue *queue) { - wake_up(&queue->waitq); + minios_wake_up(&queue->waitq); } void xenbus_event_queue_init(struct xenbus_event_queue *queue) { MINIOS_STAILQ_INIT(&queue->events); queue->wakeup = queue_wakeup; - init_waitqueue_head(&queue->waitq); + minios_init_waitqueue_head(&queue->waitq); } static struct xenbus_event *remove_event(struct xenbus_event_queue *queue) @@ -107,12 +107,12 @@ static struct xenbus_event *await_event(struct xenbus_event_queue *queue) DEFINE_WAIT(w); spin_lock(&xenbus_req_lock); while (!(event = remove_event(queue))) { - add_waiter(w, queue->waitq); + minios_add_waiter(w, queue->waitq); spin_unlock(&xenbus_req_lock); - schedule(); + minios_schedule(); spin_lock(&xenbus_req_lock); } - remove_waiter(w, queue->waitq); + minios_remove_waiter(w, queue->waitq); spin_unlock(&xenbus_req_lock); return event; } @@ -153,7 +153,7 @@ void xenbus_wait_for_watch(struct xenbus_event_queue *queue) if (ret) free(ret); else - printk("unexpected path returned by watch\n"); + minios_printk("unexpected path returned by watch\n"); } char* xenbus_wait_for_value(const char* path, const char* value, struct xenbus_event_queue *queue) @@ -252,7 +252,7 @@ static void xenbus_thread_func(void *ign) for (;;) { - wait_event(xb_waitq, prod != xenstore_buf->rsp_prod); + minios_wait_event(xb_waitq, prod != xenstore_buf->rsp_prod); while (1) { prod = xenstore_buf->rsp_prod; @@ -304,7 +304,7 @@ static void xenbus_thread_func(void *ign) if (events) { queue_event(events, event); } else { - printk("unexpected watch token %s\n", event->token); + minios_printk("unexpected watch token %s\n", event->token); free(event); } @@ -332,7 +332,7 @@ static void xenbus_thread_func(void *ign) static void xenbus_evtchn_handler(evtchn_port_t port, struct pt_regs *regs, void *ign) { - wake_up(&xb_waitq); + minios_wake_up(&xb_waitq); } static int nr_live_reqs; @@ -346,7 +346,7 @@ void xenbus_id_release(int id) req_info[id].reply_queue = 0; nr_live_reqs--; if (nr_live_reqs == NR_REQS - 1) - wake_up(&req_wq); + minios_wake_up(&req_wq); spin_unlock(&xenbus_req_lock); } @@ -362,7 +362,7 @@ int xenbus_id_allocate(struct xenbus_event_queue *reply_queue, if (nr_live_reqs < NR_REQS) break; spin_unlock(&xenbus_req_lock); - wait_event(req_wq, (nr_live_reqs < NR_REQS)); + minios_wait_event(req_wq, (nr_live_reqs < NR_REQS)); } o_probe = probe; @@ -417,13 +417,13 @@ void init_xenbus(void) DEBUG("init_xenbus called.\n"); xenbus_event_queue_init(&xenbus_default_watch_queue); xenstore_buf = mfn_to_virt(start_info.store_mfn); - create_thread("xenstore", NULL, xenbus_thread_func, NULL, NULL); + minios_create_thread("xenstore", NULL, xenbus_thread_func, NULL, NULL); DEBUG("buf at %p.\n", xenstore_buf); - err = bind_evtchn(start_info.store_evtchn, + err = minios_bind_evtchn(start_info.store_evtchn, xenbus_evtchn_handler, NULL); - unmask_evtchn(start_info.store_evtchn); - printk("xenbus initialised on irq %d mfn %#lx\n", + minios_unmask_evtchn(start_info.store_evtchn); + minios_printk("xenbus initialised on irq %d mfn %#lx\n", err, start_info.store_mfn); } @@ -464,7 +464,7 @@ void xenbus_xb_write(int type, int req_id, xenbus_transaction_t trans_id, DEBUG("prod %d, len %d, cons %d, size %d; waiting.\n", prod, len, xenstore_buf->req_cons, XENSTORE_RING_SIZE); spin_unlock(&xb_lock); - wait_event(xb_waitq, + minios_wait_event(xb_waitq, xenstore_buf->req_prod + len - xenstore_buf->req_cons <= XENSTORE_RING_SIZE); spin_lock(&xb_lock); @@ -569,7 +569,7 @@ static void xenbus_debug_msg(const char *msg) struct xsd_sockmsg *reply; reply = xenbus_msg_reply(XS_DEBUG, 0, req, ARRAY_SIZE(req)); - printk("Got a reply, type %d, id %d, len %d.\n", + minios_printk("Got a reply, type %d, id %d, len %d.\n", reply->type, reply->req_id, reply->len); } @@ -808,7 +808,7 @@ int xenbus_read_integer(const char *path) res = xenbus_read(XBT_NIL, path, &buf); if (res) { - printk("Failed to read %s.\n", path); + minios_printk("Failed to read %s.\n", path); free(res); return -1; } @@ -850,16 +850,16 @@ static void do_ls_test(const char *pre) char **dirs, *msg; int x; - printk("ls %s...\n", pre); + minios_printk("ls %s...\n", pre); msg = xenbus_ls(XBT_NIL, pre, &dirs); if (msg) { - printk("Error in xenbus ls: %s\n", msg); + minios_printk("Error in xenbus ls: %s\n", msg); free(msg); return; } for (x = 0; dirs[x]; x++) { - printk("ls %s[%d] -> %s\n", pre, x, dirs[x]); + minios_printk("ls %s[%d] -> %s\n", pre, x, dirs[x]); free(dirs[x]); } free(dirs); @@ -868,68 +868,68 @@ static void do_ls_test(const char *pre) static void do_read_test(const char *path) { char *res, *msg; - printk("Read %s...\n", path); + minios_printk("Read %s...\n", path); msg = xenbus_read(XBT_NIL, path, &res); if (msg) { - printk("Error in xenbus read: %s\n", msg); + minios_printk("Error in xenbus read: %s\n", msg); free(msg); return; } - printk("Read %s -> %s.\n", path, res); + minios_printk("Read %s -> %s.\n", path, res); free(res); } static void do_write_test(const char *path, const char *val) { char *msg; - printk("Write %s to %s...\n", val, path); + minios_printk("Write %s to %s...\n", val, path); msg = xenbus_write(XBT_NIL, path, val); if (msg) { - printk("Result %s\n", msg); + minios_printk("Result %s\n", msg); free(msg); } else { - printk("Success.\n"); + minios_printk("Success.\n"); } } static void do_rm_test(const char *path) { char *msg; - printk("rm %s...\n", path); + minios_printk("rm %s...\n", path); msg = xenbus_rm(XBT_NIL, path); if (msg) { - printk("Result %s\n", msg); + minios_printk("Result %s\n", msg); free(msg); } else { - printk("Success.\n"); + minios_printk("Success.\n"); } } /* Simple testing thing */ void test_xenbus(void) { - printk("Doing xenbus test.\n"); + minios_printk("Doing xenbus test.\n"); xenbus_debug_msg("Testing xenbus...\n"); - printk("Doing ls test.\n"); + minios_printk("Doing ls test.\n"); do_ls_test("device"); do_ls_test("device/vif"); do_ls_test("device/vif/0"); - printk("Doing read test.\n"); + minios_printk("Doing read test.\n"); do_read_test("device/vif/0/mac"); do_read_test("device/vif/0/backend"); - printk("Doing write test.\n"); + minios_printk("Doing write test.\n"); do_write_test("device/vif/0/flibble", "flobble"); do_read_test("device/vif/0/flibble"); do_write_test("device/vif/0/flibble", "widget"); do_read_test("device/vif/0/flibble"); - printk("Doing rm test.\n"); + minios_printk("Doing rm test.\n"); do_rm_test("device/vif/0/flibble"); do_read_test("device/vif/0/flibble"); - printk("(Should have said ENOENT)\n"); + minios_printk("(Should have said ENOENT)\n"); } /*