diff options
author | Harald Koerfgen <hkoerfg@web.de> | 2001-02-13 21:15:09 +0000 |
---|---|---|
committer | Harald Koerfgen <hkoerfg@web.de> | 2001-02-13 21:15:09 +0000 |
commit | e25ac8bd2505cccb57f4af28acf1fa9a2e024e52 (patch) | |
tree | 087812317676b9dd2fc58dbb5c6eebd027ea8cda | |
parent | ff76e458d1f6d4a8b231e4866c1ea309a0ee1563 (diff) |
DECstation fixes from Maciej
-rw-r--r-- | arch/mips/arc/memory.c | 2 | ||||
-rw-r--r-- | arch/mips/dec/irq.c | 2 | ||||
-rw-r--r-- | arch/mips/dec/prom/memory.c | 14 |
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; } |