direct-io.hg

changeset 15109:c4755f856627

[IA64] Cleanup in faults.c

Cleanup: more static added, unused functions removed, a typo fixed.

Signed-off-by: Tristan Gingold <tgingold@free.fr>
author Alex Williamson <alex.williamson@hp.com>
date Tue May 08 10:51:05 2007 -0600 (2007-05-08)
parents 3ecf1cea58b1
children eabda101b0c5
files xen/arch/ia64/xen/faults.c
line diff
     1.1 --- a/xen/arch/ia64/xen/faults.c	Tue May 08 10:48:39 2007 -0600
     1.2 +++ b/xen/arch/ia64/xen/faults.c	Tue May 08 10:51:05 2007 -0600
     1.3 @@ -54,8 +54,9 @@ extern IA64FAULT ia64_hypercall(struct p
     1.4  extern void do_ssc(unsigned long ssc, struct pt_regs *regs);
     1.5  
     1.6  // should never panic domain... if it does, stack may have been overrun
     1.7 -void check_bad_nested_interruption(unsigned long isr, struct pt_regs *regs,
     1.8 -                                   unsigned long vector)
     1.9 +static void check_bad_nested_interruption(unsigned long isr,
    1.10 +					  struct pt_regs *regs,
    1.11 +					  unsigned long vector)
    1.12  {
    1.13  	struct vcpu *v = current;
    1.14  
    1.15 @@ -74,8 +75,8 @@ void check_bad_nested_interruption(unsig
    1.16  	}
    1.17  }
    1.18  
    1.19 -void reflect_interruption(unsigned long isr, struct pt_regs *regs,
    1.20 -                          unsigned long vector)
    1.21 +static void reflect_interruption(unsigned long isr, struct pt_regs *regs,
    1.22 +				 unsigned long vector)
    1.23  {
    1.24  	struct vcpu *v = current;
    1.25  
    1.26 @@ -103,26 +104,6 @@ void reflect_interruption(unsigned long 
    1.27  	perfc_incra(slow_reflect, vector >> 8);
    1.28  }
    1.29  
    1.30 -static unsigned long pending_false_positive = 0;
    1.31 -
    1.32 -void reflect_extint(struct pt_regs *regs)
    1.33 -{
    1.34 -	unsigned long isr = regs->cr_ipsr & IA64_PSR_RI;
    1.35 -	struct vcpu *v = current;
    1.36 -	static int first_extint = 1;
    1.37 -
    1.38 -	if (first_extint) {
    1.39 -		printk("Delivering first extint to domain: isr=0x%lx, "
    1.40 -		       "iip=0x%lx\n", isr, regs->cr_iip);
    1.41 -		first_extint = 0;
    1.42 -	}
    1.43 -	if (vcpu_timer_pending_early(v))
    1.44 -		printk("*#*#*#* about to deliver early timer to domain %d!!\n",
    1.45 -		       v->domain->domain_id);
    1.46 -	PSCB(current, itir) = 0;
    1.47 -	reflect_interruption(isr, regs, IA64_EXTINT_VECTOR);
    1.48 -}
    1.49 -
    1.50  void reflect_event(void)
    1.51  {
    1.52  	struct vcpu *v = current;
    1.53 @@ -166,22 +147,6 @@ void reflect_event(void)
    1.54  	PSCB(v, interrupt_collection_enabled) = 0;
    1.55  }
    1.56  
    1.57 -// ONLY gets called from ia64_leave_kernel
    1.58 -// ONLY call with interrupts disabled?? (else might miss one?)
    1.59 -// NEVER successful if already reflecting a trap/fault because psr.i==0
    1.60 -void deliver_pending_interrupt(struct pt_regs *regs)
    1.61 -{
    1.62 -	struct domain *d = current->domain;
    1.63 -	struct vcpu *v = current;
    1.64 -	// FIXME: Will this work properly if doing an RFI???
    1.65 -	if (!is_idle_domain(d) && user_mode(regs)) {
    1.66 -		if (vcpu_deliverable_interrupts(v))
    1.67 -			reflect_extint(regs);
    1.68 -		else if (PSCB(v, pending_interruption))
    1.69 -			++pending_false_positive;
    1.70 -	}
    1.71 -}
    1.72 -
    1.73  static int handle_lazy_cover(struct vcpu *v, struct pt_regs *regs)
    1.74  {
    1.75  	if (!PSCB(v, interrupt_collection_enabled)) {
    1.76 @@ -593,7 +558,7 @@ ia64_handle_reflection(unsigned long ifa
    1.77  	unsigned long psr = regs->cr_ipsr;
    1.78  	unsigned long status;
    1.79  
    1.80 -	/* Following faults shouldn'g be seen from Xen itself */
    1.81 +	/* Following faults shouldn't be seen from Xen itself */
    1.82  	BUG_ON(!(psr & IA64_PSR_CPL));
    1.83  
    1.84  	switch (vector) {