]> err.no Git - linux-2.6/blobdiff - include/asm-ppc64/machdep.h
Merge master.kernel.org:/home/rmk/linux-2.6-arm
[linux-2.6] / include / asm-ppc64 / machdep.h
index 553b2ea23bedfb324b56dc76347917794f1872b2..9a1ef4427ed2dfa0b2923f99ef2f8c4098cf4011 100644 (file)
@@ -53,10 +53,8 @@ struct machdep_calls {
        long            (*hpte_insert)(unsigned long hpte_group,
                                       unsigned long va,
                                       unsigned long prpn,
-                                      int secondary, 
-                                      unsigned long hpteflags, 
-                                      int bolted,
-                                      int large);
+                                      unsigned long vflags,
+                                      unsigned long rflags);
        long            (*hpte_remove)(unsigned long hpte_group);
        void            (*flush_hash_range)(unsigned long context,
                                            unsigned long number,
@@ -86,6 +84,7 @@ struct machdep_calls {
 
        void            (*init_IRQ)(void);
        int             (*get_irq)(struct pt_regs *);
+       void            (*cpu_irq_down)(int secondary);
 
        /* PCI stuff */
        void            (*pcibios_fixup)(void);
@@ -104,11 +103,6 @@ struct machdep_calls {
 
        void            (*progress)(char *, unsigned short);
 
-       /* Debug interface.  Low level I/O to some terminal device */
-       void            (*udbg_putc)(unsigned char c);
-       unsigned char   (*udbg_getc)(void);
-       int             (*udbg_getc_poll)(void);
-
        /* Interface for platform error logging */
        void            (*log_error)(char *buf, unsigned int err_type, int fatal);
 
@@ -139,8 +133,16 @@ struct machdep_calls {
                                                unsigned long size,
                                                pgprot_t vma_prot);
 
+       /* Idle loop for this platform, leave empty for default idle loop */
+       int             (*idle_loop)(void);
+
+       /* Function to enable pmcs for this platform, called once per cpu. */
+       void            (*enable_pmcs)(void);
 };
 
+extern int default_idle(void);
+extern int native_idle(void);
+
 extern struct machdep_calls ppc_md;
 extern char cmd_line[COMMAND_LINE_SIZE];