# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID b417cb20f1dbaeccb766a8ab94c22cee038a07b7
# Parent 4db98649cc3636eff576a304f7c4761c9165bbb8
[IA64] Misc clean-up and warnings removal.
Signed-off-by: Tristan Gingold <tristan.gingold@xxxxxxxx>
diff -r 4db98649cc36 -r b417cb20f1db xen/arch/ia64/xen/irq.c
--- a/xen/arch/ia64/xen/irq.c Tue Feb 28 19:43:08 2006
+++ b/xen/arch/ia64/xen/irq.c Tue Feb 28 20:10:16 2006
@@ -129,7 +129,9 @@
}
#endif
+#ifndef XEN
static void register_irq_proc (unsigned int irq);
+#endif
/*
* Special irq handlers.
@@ -1492,6 +1494,7 @@
irqreturn_t guest_forward_keyboard_input(int irq, void *nada, struct pt_regs
*regs)
{
domain_pend_keyboard_interrupt(irq);
+ return 0;
}
void serial_input_init(void)
diff -r 4db98649cc36 -r b417cb20f1db xen/arch/ia64/xen/privop.c
--- a/xen/arch/ia64/xen/privop.c Tue Feb 28 19:43:08 2006
+++ b/xen/arch/ia64/xen/privop.c Tue Feb 28 20:10:16 2006
@@ -529,7 +529,7 @@
Privileged operation decode and dispatch routines
**************************************************************************/
-IA64_SLOT_TYPE slot_types[0x20][3] = {
+static const IA64_SLOT_TYPE slot_types[0x20][3] = {
{M, I, I}, {M, I, I}, {M, I, I}, {M, I, I},
{M, I, ILLEGAL}, {M, I, ILLEGAL},
{ILLEGAL, ILLEGAL, ILLEGAL}, {ILLEGAL, ILLEGAL, ILLEGAL},
@@ -549,7 +549,7 @@
// pointer to privileged emulation function
typedef IA64FAULT (*PPEFCN)(VCPU *vcpu, INST64 inst);
-PPEFCN Mpriv_funcs[64] = {
+static const PPEFCN Mpriv_funcs[64] = {
priv_mov_to_rr, priv_mov_to_dbr, priv_mov_to_ibr, priv_mov_to_pkr,
priv_mov_to_pmc, priv_mov_to_pmd, 0, 0,
0, priv_ptc_l, priv_ptc_g, priv_ptc_ga,
@@ -799,7 +799,7 @@
#define HYPERPRIVOP_SET_KR 0x12
#define HYPERPRIVOP_MAX 0x12
-char *hyperpriv_str[HYPERPRIVOP_MAX+1] = {
+static const char * const hyperpriv_str[HYPERPRIVOP_MAX+1] = {
0, "rfi", "rsm.dt", "ssm.dt", "cover", "itc.d", "itc.i", "ssm.i",
"=ivr", "=tpr", "tpr=", "eoi", "itm=", "thash", "ptc.ga", "itr.d",
"=rr", "rr=", "kr="
@@ -898,7 +898,7 @@
Privileged operation instrumentation routines
**************************************************************************/
-char *Mpriv_str[64] = {
+static const char * const Mpriv_str[64] = {
"mov_to_rr", "mov_to_dbr", "mov_to_ibr", "mov_to_pkr",
"mov_to_pmc", "mov_to_pmd", "<0x06>", "<0x07>",
"<0x08>", "ptc_l", "ptc_g", "ptc_ga",
@@ -918,7 +918,7 @@
};
#define RS "Rsvd"
-char *cr_str[128] = {
+static const char * const cr_str[128] = {
"dcr","itm","iva",RS,RS,RS,RS,RS,
"pta",RS,RS,RS,RS,RS,RS,RS,
"ipsr","isr",RS,"iip","ifa","itir","iipa","ifs",
diff -r 4db98649cc36 -r b417cb20f1db xen/arch/ia64/xen/process.c
--- a/xen/arch/ia64/xen/process.c Tue Feb 28 19:43:08 2006
+++ b/xen/arch/ia64/xen/process.c Tue Feb 28 20:10:16 2006
@@ -228,14 +228,12 @@
void reflect_extint(struct pt_regs *regs)
{
-// extern unsigned long vcpu_verbose, privop_trace;
unsigned long isr = regs->cr_ipsr & IA64_PSR_RI;
struct vcpu *v = current;
static int first_extint = 1;
if (first_extint) {
printf("Delivering first extint to domain: isr=0x%lx,
iip=0x%lx\n", isr, regs->cr_iip);
- //privop_trace = 1; vcpu_verbose = 1;
first_extint = 0;
}
if (vcpu_timer_pending_early(v))
@@ -339,12 +337,8 @@
{
struct pt_regs *regs = (struct pt_regs *) &stack;
unsigned long code;
-#if 0
- unsigned long error = isr;
- int result, sig;
-#endif
char buf[128];
- static const char *reason[] = {
+ static const char * const reason[] = {
"IA-64 Illegal Operation fault",
"IA-64 Privileged Operation fault",
"IA-64 Privileged Register fault",
@@ -708,9 +702,8 @@
ia64_handle_privop (unsigned long ifa, struct pt_regs *regs, unsigned long
isr, unsigned long itir)
{
IA64FAULT vector;
- struct vcpu *v = current;
-
- vector = priv_emulate(v,regs,isr);
+
+ vector = priv_emulate(current,regs,isr);
if (vector != IA64_NO_FAULT && vector != IA64_RFI_IN_PROGRESS) {
// Note: if a path results in a vector to reflect that requires
// iha/itir (e.g. vcpu_force_data_miss), they must be set there
@@ -764,7 +757,8 @@
}
#endif
printf("*** NaT fault... attempting to handle as privop\n");
-printf("isr=0x%lx, ifa=0x%lx, iip=0x%lx, ipsr=0x%lx\n", isr, ifa,
regs->cr_iip, psr);
+printf("isr=%016lx, ifa=%016lx, iip=%016lx, ipsr=%016lx\n",
+ isr, ifa, regs->cr_iip, psr);
//regs->eml_unat = 0; FIXME: DO WE NEED THIS???
// certain NaT faults are higher priority than privop faults
vector = priv_emulate(v,regs,isr);
diff -r 4db98649cc36 -r b417cb20f1db xen/include/asm-ia64/debugger.h
--- a/xen/include/asm-ia64/debugger.h Tue Feb 28 19:43:08 2006
+++ b/xen/include/asm-ia64/debugger.h Tue Feb 28 20:10:16 2006
@@ -39,6 +39,8 @@
#ifndef __ASSEMBLY__
#include <xen/gdbstub.h>
+
+void show_registers(struct cpu_user_regs *regs);
// NOTE: on xen struct pt_regs = struct cpu_user_regs
// see include/asm-ia64/linux-xen/asm/ptrace.h
diff -r 4db98649cc36 -r b417cb20f1db
xen/include/asm-ia64/linux-xen/asm/tlbflush.h
--- a/xen/include/asm-ia64/linux-xen/asm/tlbflush.h Tue Feb 28 19:43:08 2006
+++ b/xen/include/asm-ia64/linux-xen/asm/tlbflush.h Tue Feb 28 20:10:16 2006
@@ -103,6 +103,10 @@
*/
}
+
#define flush_tlb_kernel_range(start, end) flush_tlb_all() /* XXX fix me */
+#ifdef XEN
+extern void flush_tlb_mask(cpumask_t mask);
+#endif
#endif /* _ASM_IA64_TLBFLUSH_H */
diff -r 4db98649cc36 -r b417cb20f1db xen/include/asm-ia64/privop.h
--- a/xen/include/asm-ia64/privop.h Tue Feb 28 19:43:08 2006
+++ b/xen/include/asm-ia64/privop.h Tue Feb 28 20:10:16 2006
@@ -209,4 +209,6 @@
extern void privify_memory(void *start, UINT64 len);
+extern int ia64_hyperprivop(unsigned long iim, REGS *regs);
+
#endif
diff -r 4db98649cc36 -r b417cb20f1db xen/include/asm-ia64/xensystem.h
--- a/xen/include/asm-ia64/xensystem.h Tue Feb 28 19:43:08 2006
+++ b/xen/include/asm-ia64/xensystem.h Tue Feb 28 20:10:16 2006
@@ -78,7 +78,6 @@
#define __cmpxchg_user(ptr, new, old, _size) \
({ \
register long __gu_r8 asm ("r8"); \
- register long __gu_r9 asm ("r9"); \
asm volatile ("mov ar.ccv=%0;;" :: "rO"(old)); \
asm volatile ("mov %1=r0;;\n" \
"[1:]\tcmpxchg"_size".acq %0=[%2],%3,ar.ccv\n" \
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|