[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [IA64] Cleanup in faults.c
# HG changeset patch # User Alex Williamson <alex.williamson@xxxxxx> # Date 1178643065 21600 # Node ID c4755f85662753f41afac3b05606d7edb4f74900 # Parent 3ecf1cea58b1709a3fc6dfdeb8f9ba4f0fbc68a5 [IA64] Cleanup in faults.c Cleanup: more static added, unused functions removed, a typo fixed. Signed-off-by: Tristan Gingold <tgingold@xxxxxxx> --- xen/arch/ia64/xen/faults.c | 47 +++++---------------------------------------- 1 files changed, 6 insertions(+), 41 deletions(-) diff -r 3ecf1cea58b1 -r c4755f856627 xen/arch/ia64/xen/faults.c --- a/xen/arch/ia64/xen/faults.c Tue May 08 10:48:39 2007 -0600 +++ b/xen/arch/ia64/xen/faults.c Tue May 08 10:51:05 2007 -0600 @@ -54,8 +54,9 @@ extern void do_ssc(unsigned long ssc, st extern void do_ssc(unsigned long ssc, struct pt_regs *regs); // should never panic domain... if it does, stack may have been overrun -void check_bad_nested_interruption(unsigned long isr, struct pt_regs *regs, - unsigned long vector) +static void check_bad_nested_interruption(unsigned long isr, + struct pt_regs *regs, + unsigned long vector) { struct vcpu *v = current; @@ -74,8 +75,8 @@ void check_bad_nested_interruption(unsig } } -void reflect_interruption(unsigned long isr, struct pt_regs *regs, - unsigned long vector) +static void reflect_interruption(unsigned long isr, struct pt_regs *regs, + unsigned long vector) { struct vcpu *v = current; @@ -101,26 +102,6 @@ void reflect_interruption(unsigned long PSCB(v, interrupt_collection_enabled) = 0; perfc_incra(slow_reflect, vector >> 8); -} - -static unsigned long pending_false_positive = 0; - -void reflect_extint(struct pt_regs *regs) -{ - unsigned long isr = regs->cr_ipsr & IA64_PSR_RI; - struct vcpu *v = current; - static int first_extint = 1; - - if (first_extint) { - printk("Delivering first extint to domain: isr=0x%lx, " - "iip=0x%lx\n", isr, regs->cr_iip); - first_extint = 0; - } - if (vcpu_timer_pending_early(v)) - printk("*#*#*#* about to deliver early timer to domain %d!!\n", - v->domain->domain_id); - PSCB(current, itir) = 0; - reflect_interruption(isr, regs, IA64_EXTINT_VECTOR); } void reflect_event(void) @@ -164,22 +145,6 @@ void reflect_event(void) PSCB(v, vpsr_dfh) = 0; v->vcpu_info->evtchn_upcall_mask = 1; PSCB(v, interrupt_collection_enabled) = 0; -} - -// ONLY gets called from ia64_leave_kernel -// ONLY call with interrupts disabled?? (else might miss one?) -// NEVER successful if already reflecting a trap/fault because psr.i==0 -void deliver_pending_interrupt(struct pt_regs *regs) -{ - struct domain *d = current->domain; - struct vcpu *v = current; - // FIXME: Will this work properly if doing an RFI??? - if (!is_idle_domain(d) && user_mode(regs)) { - if (vcpu_deliverable_interrupts(v)) - reflect_extint(regs); - else if (PSCB(v, pending_interruption)) - ++pending_false_positive; - } } static int handle_lazy_cover(struct vcpu *v, struct pt_regs *regs) @@ -593,7 +558,7 @@ ia64_handle_reflection(unsigned long ifa unsigned long psr = regs->cr_ipsr; unsigned long status; - /* Following faults shouldn'g be seen from Xen itself */ + /* Following faults shouldn't be seen from Xen itself */ BUG_ON(!(psr & IA64_PSR_CPL)); switch (vector) { _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |