diff options
author | Len Brown <len.brown@intel.com> | 2005-08-11 00:56:08 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2005-08-11 00:56:08 -0400 |
commit | 95f193aa4fe50eb2dc987081d066edd6e13027de (patch) | |
tree | 1bf995f6290ef824ea8571520de815379d0478a3 /arch/i386 | |
parent | e872d4cace8681838e8d18d52c92f4870e980a08 (diff) | |
parent | bc68552faad0e134eb22281343d5ae5a4873fa80 (diff) |
Merge ../to-linus
Diffstat (limited to 'arch/i386')
-rw-r--r-- | arch/i386/mach-visws/reboot.c | 11 | ||||
-rw-r--r-- | arch/i386/mach-visws/setup.c | 2 | ||||
-rw-r--r-- | arch/i386/mach-voyager/voyager_basic.c | 13 | ||||
-rw-r--r-- | arch/i386/mm/discontig.c | 19 | ||||
-rw-r--r-- | arch/i386/pci/visws.c | 2 |
5 files changed, 38 insertions, 9 deletions
diff --git a/arch/i386/mach-visws/reboot.c b/arch/i386/mach-visws/reboot.c index 9e9296676f93..5d73e042ed0a 100644 --- a/arch/i386/mach-visws/reboot.c +++ b/arch/i386/mach-visws/reboot.c | |||
@@ -9,12 +9,15 @@ | |||
9 | void (*pm_power_off)(void); | 9 | void (*pm_power_off)(void); |
10 | EXPORT_SYMBOL(pm_power_off); | 10 | EXPORT_SYMBOL(pm_power_off); |
11 | 11 | ||
12 | void machine_restart(char * __unused) | 12 | void machine_shutdown(void) |
13 | { | 13 | { |
14 | #ifdef CONFIG_SMP | 14 | #ifdef CONFIG_SMP |
15 | smp_send_stop(); | 15 | smp_send_stop(); |
16 | #endif | 16 | #endif |
17 | } | ||
17 | 18 | ||
19 | void machine_emergency_restart(void) | ||
20 | { | ||
18 | /* | 21 | /* |
19 | * Visual Workstations restart after this | 22 | * Visual Workstations restart after this |
20 | * register is poked on the PIIX4 | 23 | * register is poked on the PIIX4 |
@@ -22,6 +25,12 @@ void machine_restart(char * __unused) | |||
22 | outb(PIIX4_RESET_VAL, PIIX4_RESET_PORT); | 25 | outb(PIIX4_RESET_VAL, PIIX4_RESET_PORT); |
23 | } | 26 | } |
24 | 27 | ||
28 | void machine_restart(char * __unused) | ||
29 | { | ||
30 | machine_shutdown(); | ||
31 | machine_emergency_restart(); | ||
32 | } | ||
33 | |||
25 | void machine_power_off(void) | 34 | void machine_power_off(void) |
26 | { | 35 | { |
27 | unsigned short pm_status; | 36 | unsigned short pm_status; |
diff --git a/arch/i386/mach-visws/setup.c b/arch/i386/mach-visws/setup.c index 9f6d2d9b1be7..26ada6fc0d77 100644 --- a/arch/i386/mach-visws/setup.c +++ b/arch/i386/mach-visws/setup.c | |||
@@ -14,6 +14,8 @@ | |||
14 | #include "cobalt.h" | 14 | #include "cobalt.h" |
15 | #include "piix4.h" | 15 | #include "piix4.h" |
16 | 16 | ||
17 | int no_broadcast; | ||
18 | |||
17 | char visws_board_type = -1; | 19 | char visws_board_type = -1; |
18 | char visws_board_rev = -1; | 20 | char visws_board_rev = -1; |
19 | 21 | ||
diff --git a/arch/i386/mach-voyager/voyager_basic.c b/arch/i386/mach-voyager/voyager_basic.c index b3eda46e0fe9..c6384061328a 100644 --- a/arch/i386/mach-voyager/voyager_basic.c +++ b/arch/i386/mach-voyager/voyager_basic.c | |||
@@ -252,6 +252,12 @@ kb_wait(void) | |||
252 | } | 252 | } |
253 | 253 | ||
254 | void | 254 | void |
255 | machine_shutdown(void) | ||
256 | { | ||
257 | /* Architecture specific shutdown needed before a kexec */ | ||
258 | } | ||
259 | |||
260 | void | ||
255 | machine_restart(char *cmd) | 261 | machine_restart(char *cmd) |
256 | { | 262 | { |
257 | printk("Voyager Warm Restart\n"); | 263 | printk("Voyager Warm Restart\n"); |
@@ -279,6 +285,13 @@ machine_restart(char *cmd) | |||
279 | } | 285 | } |
280 | 286 | ||
281 | void | 287 | void |
288 | machine_emergency_restart(void) | ||
289 | { | ||
290 | /*for now, just hook this to a warm restart */ | ||
291 | machine_restart(NULL); | ||
292 | } | ||
293 | |||
294 | void | ||
282 | mca_nmi_hook(void) | 295 | mca_nmi_hook(void) |
283 | { | 296 | { |
284 | __u8 dumpval __attribute__((unused)) = inb(0xf823); | 297 | __u8 dumpval __attribute__((unused)) = inb(0xf823); |
diff --git a/arch/i386/mm/discontig.c b/arch/i386/mm/discontig.c index c369a8bf7cbe..6711ce3f6916 100644 --- a/arch/i386/mm/discontig.c +++ b/arch/i386/mm/discontig.c | |||
@@ -243,14 +243,6 @@ static unsigned long calculate_numa_remap_pages(void) | |||
243 | /* now the roundup is correct, convert to PAGE_SIZE pages */ | 243 | /* now the roundup is correct, convert to PAGE_SIZE pages */ |
244 | size = size * PTRS_PER_PTE; | 244 | size = size * PTRS_PER_PTE; |
245 | 245 | ||
246 | if (node_end_pfn[nid] & (PTRS_PER_PTE-1)) { | ||
247 | /* | ||
248 | * Adjust size if node_end_pfn is not on a proper | ||
249 | * pmd boundary. remap_numa_kva will barf otherwise. | ||
250 | */ | ||
251 | size += node_end_pfn[nid] & (PTRS_PER_PTE-1); | ||
252 | } | ||
253 | |||
254 | /* | 246 | /* |
255 | * Validate the region we are allocating only contains valid | 247 | * Validate the region we are allocating only contains valid |
256 | * pages. | 248 | * pages. |
@@ -270,6 +262,17 @@ static unsigned long calculate_numa_remap_pages(void) | |||
270 | reserve_pages += size; | 262 | reserve_pages += size; |
271 | printk("Shrinking node %d from %ld pages to %ld pages\n", | 263 | printk("Shrinking node %d from %ld pages to %ld pages\n", |
272 | nid, node_end_pfn[nid], node_end_pfn[nid] - size); | 264 | nid, node_end_pfn[nid], node_end_pfn[nid] - size); |
265 | |||
266 | if (node_end_pfn[nid] & (PTRS_PER_PTE-1)) { | ||
267 | /* | ||
268 | * Align node_end_pfn[] and node_remap_start_pfn[] to | ||
269 | * pmd boundary. remap_numa_kva will barf otherwise. | ||
270 | */ | ||
271 | printk("Shrinking node %d further by %ld pages for proper alignment\n", | ||
272 | nid, node_end_pfn[nid] & (PTRS_PER_PTE-1)); | ||
273 | size += node_end_pfn[nid] & (PTRS_PER_PTE-1); | ||
274 | } | ||
275 | |||
273 | node_end_pfn[nid] -= size; | 276 | node_end_pfn[nid] -= size; |
274 | node_remap_start_pfn[nid] = node_end_pfn[nid]; | 277 | node_remap_start_pfn[nid] = node_end_pfn[nid]; |
275 | } | 278 | } |
diff --git a/arch/i386/pci/visws.c b/arch/i386/pci/visws.c index 314c933b6b8e..6c17433fdf7d 100644 --- a/arch/i386/pci/visws.c +++ b/arch/i386/pci/visws.c | |||
@@ -18,8 +18,10 @@ | |||
18 | extern struct pci_raw_ops pci_direct_conf1; | 18 | extern struct pci_raw_ops pci_direct_conf1; |
19 | 19 | ||
20 | static int pci_visws_enable_irq(struct pci_dev *dev) { return 0; } | 20 | static int pci_visws_enable_irq(struct pci_dev *dev) { return 0; } |
21 | static void pci_visws_disable_irq(struct pci_dev *dev) { } | ||
21 | 22 | ||
22 | int (*pcibios_enable_irq)(struct pci_dev *dev) = &pci_visws_enable_irq; | 23 | int (*pcibios_enable_irq)(struct pci_dev *dev) = &pci_visws_enable_irq; |
24 | void (*pcibios_disable_irq)(struct pci_dev *dev) = &pci_visws_disable_irq; | ||
23 | 25 | ||
24 | void __init pcibios_penalize_isa_irq(int irq, int active) {} | 26 | void __init pcibios_penalize_isa_irq(int irq, int active) {} |
25 | 27 | ||