VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git] / include / asm-ia64 / iosapic.h
index d5bda84..3fac17e 100644 (file)
@@ -1,13 +1,11 @@
 #ifndef __ASM_IA64_IOSAPIC_H
 #define __ASM_IA64_IOSAPIC_H
 
-#define        IOSAPIC_DEFAULT_ADDR    0xFEC00000
-
 #define        IOSAPIC_REG_SELECT      0x0
 #define        IOSAPIC_WINDOW          0x10
 #define        IOSAPIC_EOI             0x40
 
-#define        IOSAPIC_VERSION 0x1
+#define        IOSAPIC_VERSION         0x1
 
 /*
  * Redirection table entry
 
 #define NR_IOSAPICS                    256
 
+static inline unsigned int iosapic_read(char *iosapic, unsigned int reg)
+{
+       writel(reg, iosapic + IOSAPIC_REG_SELECT);
+       return readl(iosapic + IOSAPIC_WINDOW);
+}
+
+static inline void iosapic_write(char *iosapic, unsigned int reg, u32 val)
+{
+       writel(reg, iosapic + IOSAPIC_REG_SELECT);
+       writel(val, iosapic + IOSAPIC_WINDOW);
+}
+
+static inline void iosapic_eoi(char *iosapic, u32 vector)
+{
+       writel(vector, iosapic + IOSAPIC_EOI);
+}
+
 extern void __init iosapic_system_init (int pcat_compat);
 extern void __init iosapic_init (unsigned long address,
                                    unsigned int gsi_base);
 extern int gsi_to_vector (unsigned int gsi);
 extern int gsi_to_irq (unsigned int gsi);
-extern void __init iosapic_parse_prt (void);
 extern void iosapic_enable_intr (unsigned int vector);
 extern int iosapic_register_intr (unsigned int gsi, unsigned long polarity,
                                  unsigned long trigger);