summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorHarald Koerfgen <hkoerfg@web.de>2001-02-13 21:15:09 +0000
committerHarald Koerfgen <hkoerfg@web.de>2001-02-13 21:15:09 +0000
commite25ac8bd2505cccb57f4af28acf1fa9a2e024e52 (patch)
tree087812317676b9dd2fc58dbb5c6eebd027ea8cda /arch
parentff76e458d1f6d4a8b231e4866c1ea309a0ee1563 (diff)
DECstation fixes from Maciej
Diffstat (limited to 'arch')
-rw-r--r--arch/mips/arc/memory.c2
-rw-r--r--arch/mips/dec/irq.c2
-rw-r--r--arch/mips/dec/prom/memory.c14
3 files changed, 9 insertions, 9 deletions
diff --git a/arch/mips/arc/memory.c b/arch/mips/arc/memory.c
index eaf7efdc5..e5cbb907f 100644
--- a/arch/mips/arc/memory.c
+++ b/arch/mips/arc/memory.c
@@ -145,7 +145,7 @@ prom_free_prom_memory (void)
+ boot_mem_map.map[i].size) {
ClearPageReserved(virt_to_page(__va(addr)));
set_page_count(virt_to_page(__va(addr)), 1);
- free_page(__va(addr));
+ free_page((unsigned long)__va(addr));
addr += PAGE_SIZE;
freed += PAGE_SIZE;
}
diff --git a/arch/mips/dec/irq.c b/arch/mips/dec/irq.c
index 868b2aa26..e57485d25 100644
--- a/arch/mips/dec/irq.c
+++ b/arch/mips/dec/irq.c
@@ -136,8 +136,8 @@ asmlinkage void do_IRQ(int irq, struct pt_regs *regs)
} while (action);
if (do_random & SA_SAMPLE_RANDOM)
add_interrupt_randomness(irq);
- unmask_irq(irq);
__cli();
+ unmask_irq(irq);
}
irq_exit(cpu, irq);
diff --git a/arch/mips/dec/prom/memory.c b/arch/mips/dec/prom/memory.c
index 6c6b97d10..765090fcf 100644
--- a/arch/mips/dec/prom/memory.c
+++ b/arch/mips/dec/prom/memory.c
@@ -108,10 +108,10 @@ void __init prom_meminit(unsigned int magic)
rex_setup_memory_region();
}
-void prom_free_prom_memory (void)
+void __init prom_free_prom_memory (void)
{
unsigned long addr, end;
- extern char _ftext;
+ extern char _ftext;
/*
* Free everything below the kernel itself but leave
@@ -126,16 +126,16 @@ void prom_free_prom_memory (void)
* XXX: save this address for use in dec_lance.c?
*/
if (IOASIC)
- end = PHYSADDR(&_ftext) - 0x00020000;
+ end = __pa(&_ftext) - 0x00020000;
else
#endif
- end = PHYSADDR(&_ftext);
+ end = __pa(&_ftext);
addr = PAGE_SIZE;
while (addr < end) {
- ClearPageReserved(virt_to_page(addr));
- set_page_count(virt_to_page(addr), 1);
- free_page(addr);
+ ClearPageReserved(virt_to_page(__va(addr)));
+ set_page_count(virt_to_page(__va(addr)), 1);
+ free_page((unsigned long)__va(addr));
addr += PAGE_SIZE;
}