diff options
| author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-23 12:49:55 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-23 12:49:55 -0400 |
| commit | 24665cd00dd06c741ef6268515ca9e6d3cda5c57 (patch) | |
| tree | d55e925db2b78bc6529965fa6b1df07a76b56610 /include/asm-ppc64 | |
| parent | fed2fc18a4567d613cd35115322257c6c6c710e9 (diff) | |
| parent | d7152fe14cad075d6dd4ee4194acd131aed0244e (diff) | |
Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/paulus/ppc64-2.6
Diffstat (limited to 'include/asm-ppc64')
| -rw-r--r-- | include/asm-ppc64/machdep.h | 1 | ||||
| -rw-r--r-- | include/asm-ppc64/mmu.h | 5 | ||||
| -rw-r--r-- | include/asm-ppc64/nvram.h | 1 | ||||
| -rw-r--r-- | include/asm-ppc64/processor.h | 15 | ||||
| -rw-r--r-- | include/asm-ppc64/rtas.h | 6 | ||||
| -rw-r--r-- | include/asm-ppc64/smp.h | 8 | ||||
| -rw-r--r-- | include/asm-ppc64/time.h | 9 |
7 files changed, 41 insertions, 4 deletions
diff --git a/include/asm-ppc64/machdep.h b/include/asm-ppc64/machdep.h index 5d3cd9d042e2..553b2ea23bed 100644 --- a/include/asm-ppc64/machdep.h +++ b/include/asm-ppc64/machdep.h | |||
| @@ -76,6 +76,7 @@ struct machdep_calls { | |||
| 76 | void (*tce_flush)(struct iommu_table *tbl); | 76 | void (*tce_flush)(struct iommu_table *tbl); |
| 77 | void (*iommu_dev_setup)(struct pci_dev *dev); | 77 | void (*iommu_dev_setup)(struct pci_dev *dev); |
| 78 | void (*iommu_bus_setup)(struct pci_bus *bus); | 78 | void (*iommu_bus_setup)(struct pci_bus *bus); |
| 79 | void (*irq_bus_setup)(struct pci_bus *bus); | ||
| 79 | 80 | ||
| 80 | int (*probe)(int platform); | 81 | int (*probe)(int platform); |
| 81 | void (*setup_arch)(void); | 82 | void (*setup_arch)(void); |
diff --git a/include/asm-ppc64/mmu.h b/include/asm-ppc64/mmu.h index c78282a67d8e..9d03a98a4fa3 100644 --- a/include/asm-ppc64/mmu.h +++ b/include/asm-ppc64/mmu.h | |||
| @@ -47,9 +47,10 @@ | |||
| 47 | #define SLB_VSID_KS ASM_CONST(0x0000000000000800) | 47 | #define SLB_VSID_KS ASM_CONST(0x0000000000000800) |
| 48 | #define SLB_VSID_KP ASM_CONST(0x0000000000000400) | 48 | #define SLB_VSID_KP ASM_CONST(0x0000000000000400) |
| 49 | #define SLB_VSID_N ASM_CONST(0x0000000000000200) /* no-execute */ | 49 | #define SLB_VSID_N ASM_CONST(0x0000000000000200) /* no-execute */ |
| 50 | #define SLB_VSID_L ASM_CONST(0x0000000000000100) /* largepage 16M */ | 50 | #define SLB_VSID_L ASM_CONST(0x0000000000000100) /* largepage */ |
| 51 | #define SLB_VSID_C ASM_CONST(0x0000000000000080) /* class */ | 51 | #define SLB_VSID_C ASM_CONST(0x0000000000000080) /* class */ |
| 52 | 52 | #define SLB_VSID_LS ASM_CONST(0x0000000000000070) /* size of largepage */ | |
| 53 | |||
| 53 | #define SLB_VSID_KERNEL (SLB_VSID_KP|SLB_VSID_C) | 54 | #define SLB_VSID_KERNEL (SLB_VSID_KP|SLB_VSID_C) |
| 54 | #define SLB_VSID_USER (SLB_VSID_KP|SLB_VSID_KS) | 55 | #define SLB_VSID_USER (SLB_VSID_KP|SLB_VSID_KS) |
| 55 | 56 | ||
diff --git a/include/asm-ppc64/nvram.h b/include/asm-ppc64/nvram.h index 4e6dd370d936..dfaa21566c9a 100644 --- a/include/asm-ppc64/nvram.h +++ b/include/asm-ppc64/nvram.h | |||
| @@ -70,6 +70,7 @@ extern struct nvram_partition *nvram_find_partition(int sig, const char *name); | |||
| 70 | 70 | ||
| 71 | extern int pSeries_nvram_init(void); | 71 | extern int pSeries_nvram_init(void); |
| 72 | extern int pmac_nvram_init(void); | 72 | extern int pmac_nvram_init(void); |
| 73 | extern int bpa_nvram_init(void); | ||
| 73 | 74 | ||
| 74 | /* PowerMac specific nvram stuffs */ | 75 | /* PowerMac specific nvram stuffs */ |
| 75 | 76 | ||
diff --git a/include/asm-ppc64/processor.h b/include/asm-ppc64/processor.h index 3084099086a8..af28aa55d8c1 100644 --- a/include/asm-ppc64/processor.h +++ b/include/asm-ppc64/processor.h | |||
| @@ -138,8 +138,16 @@ | |||
| 138 | #define SPRN_NIADORM 0x3F3 /* Hardware Implementation Register 2 */ | 138 | #define SPRN_NIADORM 0x3F3 /* Hardware Implementation Register 2 */ |
| 139 | #define SPRN_HID4 0x3F4 /* 970 HID4 */ | 139 | #define SPRN_HID4 0x3F4 /* 970 HID4 */ |
| 140 | #define SPRN_HID5 0x3F6 /* 970 HID5 */ | 140 | #define SPRN_HID5 0x3F6 /* 970 HID5 */ |
| 141 | #define SPRN_TSC 0x3FD /* Thread switch control */ | 141 | #define SPRN_HID6 0x3F9 /* BE HID 6 */ |
| 142 | #define SPRN_TST 0x3FC /* Thread switch timeout */ | 142 | #define HID6_LB (0x0F<<12) /* Concurrent Large Page Modes */ |
| 143 | #define HID6_DLP (1<<20) /* Disable all large page modes (4K only) */ | ||
| 144 | #define SPRN_TSCR 0x399 /* Thread switch control on BE */ | ||
| 145 | #define SPRN_TTR 0x39A /* Thread switch timeout on BE */ | ||
| 146 | #define TSCR_DEC_ENABLE 0x200000 /* Decrementer Interrupt */ | ||
| 147 | #define TSCR_EE_ENABLE 0x100000 /* External Interrupt */ | ||
| 148 | #define TSCR_EE_BOOST 0x080000 /* External Interrupt Boost */ | ||
| 149 | #define SPRN_TSC 0x3FD /* Thread switch control on others */ | ||
| 150 | #define SPRN_TST 0x3FC /* Thread switch timeout on others */ | ||
| 143 | #define SPRN_L2CR 0x3F9 /* Level 2 Cache Control Regsiter */ | 151 | #define SPRN_L2CR 0x3F9 /* Level 2 Cache Control Regsiter */ |
| 144 | #define SPRN_LR 0x008 /* Link Register */ | 152 | #define SPRN_LR 0x008 /* Link Register */ |
| 145 | #define SPRN_PIR 0x3FF /* Processor Identification Register */ | 153 | #define SPRN_PIR 0x3FF /* Processor Identification Register */ |
| @@ -259,6 +267,7 @@ | |||
| 259 | #define PV_970FX 0x003C | 267 | #define PV_970FX 0x003C |
| 260 | #define PV_630 0x0040 | 268 | #define PV_630 0x0040 |
| 261 | #define PV_630p 0x0041 | 269 | #define PV_630p 0x0041 |
| 270 | #define PV_BE 0x0070 | ||
| 262 | 271 | ||
| 263 | /* Platforms supported by PPC64 */ | 272 | /* Platforms supported by PPC64 */ |
| 264 | #define PLATFORM_PSERIES 0x0100 | 273 | #define PLATFORM_PSERIES 0x0100 |
| @@ -267,6 +276,7 @@ | |||
| 267 | #define PLATFORM_LPAR 0x0001 | 276 | #define PLATFORM_LPAR 0x0001 |
| 268 | #define PLATFORM_POWERMAC 0x0400 | 277 | #define PLATFORM_POWERMAC 0x0400 |
| 269 | #define PLATFORM_MAPLE 0x0500 | 278 | #define PLATFORM_MAPLE 0x0500 |
| 279 | #define PLATFORM_BPA 0x1000 | ||
| 270 | 280 | ||
| 271 | /* Compatibility with drivers coming from PPC32 world */ | 281 | /* Compatibility with drivers coming from PPC32 world */ |
| 272 | #define _machine (systemcfg->platform) | 282 | #define _machine (systemcfg->platform) |
| @@ -278,6 +288,7 @@ | |||
| 278 | #define IC_INVALID 0 | 288 | #define IC_INVALID 0 |
| 279 | #define IC_OPEN_PIC 1 | 289 | #define IC_OPEN_PIC 1 |
| 280 | #define IC_PPC_XIC 2 | 290 | #define IC_PPC_XIC 2 |
| 291 | #define IC_BPA_IIC 3 | ||
| 281 | 292 | ||
| 282 | #define XGLUE(a,b) a##b | 293 | #define XGLUE(a,b) a##b |
| 283 | #define GLUE(a,b) XGLUE(a,b) | 294 | #define GLUE(a,b) XGLUE(a,b) |
diff --git a/include/asm-ppc64/rtas.h b/include/asm-ppc64/rtas.h index a8ab0e9db84a..e7d1b5222802 100644 --- a/include/asm-ppc64/rtas.h +++ b/include/asm-ppc64/rtas.h | |||
| @@ -186,8 +186,14 @@ extern int rtas_get_sensor(int sensor, int index, int *state); | |||
| 186 | extern int rtas_get_power_level(int powerdomain, int *level); | 186 | extern int rtas_get_power_level(int powerdomain, int *level); |
| 187 | extern int rtas_set_power_level(int powerdomain, int level, int *setlevel); | 187 | extern int rtas_set_power_level(int powerdomain, int level, int *setlevel); |
| 188 | extern int rtas_set_indicator(int indicator, int index, int new_value); | 188 | extern int rtas_set_indicator(int indicator, int index, int new_value); |
| 189 | extern void rtas_progress(char *s, unsigned short hex); | ||
| 189 | extern void rtas_initialize(void); | 190 | extern void rtas_initialize(void); |
| 190 | 191 | ||
| 192 | struct rtc_time; | ||
| 193 | extern void rtas_get_boot_time(struct rtc_time *rtc_time); | ||
| 194 | extern void rtas_get_rtc_time(struct rtc_time *rtc_time); | ||
| 195 | extern int rtas_set_rtc_time(struct rtc_time *rtc_time); | ||
| 196 | |||
| 191 | /* Given an RTAS status code of 9900..9905 compute the hinted delay */ | 197 | /* Given an RTAS status code of 9900..9905 compute the hinted delay */ |
| 192 | unsigned int rtas_extended_busy_delay_time(int status); | 198 | unsigned int rtas_extended_busy_delay_time(int status); |
| 193 | static inline int rtas_is_extended_busy(int status) | 199 | static inline int rtas_is_extended_busy(int status) |
diff --git a/include/asm-ppc64/smp.h b/include/asm-ppc64/smp.h index 8115ecb8feee..d86f742e9a21 100644 --- a/include/asm-ppc64/smp.h +++ b/include/asm-ppc64/smp.h | |||
| @@ -85,6 +85,14 @@ extern void smp_generic_take_timebase(void); | |||
| 85 | 85 | ||
| 86 | extern struct smp_ops_t *smp_ops; | 86 | extern struct smp_ops_t *smp_ops; |
| 87 | 87 | ||
| 88 | #ifdef CONFIG_PPC_PSERIES | ||
| 89 | void vpa_init(int cpu); | ||
| 90 | #else | ||
| 91 | static inline void vpa_init(int cpu) | ||
| 92 | { | ||
| 93 | } | ||
| 94 | #endif /* CONFIG_PPC_PSERIES */ | ||
| 95 | |||
| 88 | #endif /* __ASSEMBLY__ */ | 96 | #endif /* __ASSEMBLY__ */ |
| 89 | 97 | ||
| 90 | #endif /* !(_PPC64_SMP_H) */ | 98 | #endif /* !(_PPC64_SMP_H) */ |
diff --git a/include/asm-ppc64/time.h b/include/asm-ppc64/time.h index 8d6e3760ee10..c6c762cad8b0 100644 --- a/include/asm-ppc64/time.h +++ b/include/asm-ppc64/time.h | |||
| @@ -34,6 +34,15 @@ struct rtc_time; | |||
| 34 | extern void to_tm(int tim, struct rtc_time * tm); | 34 | extern void to_tm(int tim, struct rtc_time * tm); |
| 35 | extern time_t last_rtc_update; | 35 | extern time_t last_rtc_update; |
| 36 | 36 | ||
| 37 | void generic_calibrate_decr(void); | ||
| 38 | void setup_default_decr(void); | ||
| 39 | |||
| 40 | /* Some sane defaults: 125 MHz timebase, 1GHz processor */ | ||
| 41 | extern unsigned long ppc_proc_freq; | ||
| 42 | #define DEFAULT_PROC_FREQ (DEFAULT_TB_FREQ * 8) | ||
| 43 | extern unsigned long ppc_tb_freq; | ||
| 44 | #define DEFAULT_TB_FREQ 125000000UL | ||
| 45 | |||
| 37 | /* | 46 | /* |
| 38 | * By putting all of this stuff into a single struct we | 47 | * By putting all of this stuff into a single struct we |
| 39 | * reduce the number of cache lines touched by do_gettimeofday. | 48 | * reduce the number of cache lines touched by do_gettimeofday. |
