diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1998-06-30 00:21:34 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1998-06-30 00:21:34 +0000 |
commit | 3917ac5846dd0f9ad1238166f90caab9912052e6 (patch) | |
tree | 1c298935def4f29edb39192365a65d73de999155 /arch/mips/sni | |
parent | af2f803c8b2d469fe38e4a7ce952658dfcb6681a (diff) |
o Merge with Linux 2.1.100.
o Cleanup the machine dependencies of floppy and rtc. The driver for
the Dallas thingy in the Indy is still missing.
o Handle allocation of zero'd pages correct for R4000SC / R4400SC.
o Page colouring shit to match the virtual and physical colour of all
mapped pages. This tends to produce extreme fragmentation problems,
so it's deactivated for now. Users of R4000SC / R4400SC may re-enable
the code in arch/mips/mm/init.c by removing the definition of
CONF_GIVE_A_SHIT_ABOUT_COLOURS. Should get them somewhat further -
but don't shake to hard ...
o Fixed ptrace(2)-ing of syscalls, strace is now working again.
o Fix the interrupt forwarding from the keyboard driver to the psaux
driver, PS/2 mice are now working on the Indy. The fix is somewhat
broken as it prevents generic kernels for Indy and machines which handle
things different.
o Things I can't remember.
Diffstat (limited to 'arch/mips/sni')
-rw-r--r-- | arch/mips/sni/hw-access.c | 140 | ||||
-rw-r--r-- | arch/mips/sni/pcimt_scache.c | 8 | ||||
-rw-r--r-- | arch/mips/sni/setup.c | 11 |
3 files changed, 10 insertions, 149 deletions
diff --git a/arch/mips/sni/hw-access.c b/arch/mips/sni/hw-access.c index b32e7dcce..eba80f4d7 100644 --- a/arch/mips/sni/hw-access.c +++ b/arch/mips/sni/hw-access.c @@ -1,4 +1,4 @@ -/* $Id: hw-access.c,v 1.5 1998/05/06 02:46:46 ralf Exp $ +/* $Id: hw-access.c,v 1.5 1998/05/07 02:57:22 ralf Exp $ * * Low-level hardware access stuff for SNI RM200 PCI * @@ -23,144 +23,6 @@ #include <asm/irq.h> #include <asm/mc146818rtc.h> #include <asm/pgtable.h> -#include <asm/vector.h> - -extern int FLOPPY_IRQ; -extern int FLOPPY_DMA; - -/* - * How to access the FDC's registers. - */ -static unsigned char -fd_inb(unsigned int port) -{ - return inb_p(port); -} - -static void -fd_outb(unsigned char value, unsigned int port) -{ - outb_p(value, port); -} - -/* - * How to access the floppy DMA functions. - */ -static void -fd_enable_dma(int channel) -{ - enable_dma(channel); -} - -static void -fd_disable_dma(int channel) -{ - disable_dma(channel); -} - -static int -fd_request_dma(int channel) -{ - return request_dma(channel, "floppy"); -} - -static void -fd_free_dma(int channel) -{ - free_dma(channel); -} - -static void -fd_clear_dma_ff(int channel) -{ - clear_dma_ff(channel); -} - -static void -fd_set_dma_mode(int channel, char mode) -{ - set_dma_mode(channel, mode); -} - -static void -fd_set_dma_addr(int channel, unsigned int addr) -{ - set_dma_addr(channel, addr); -} - -static void -fd_set_dma_count(int channel, unsigned int count) -{ - set_dma_count(channel, count); -} - -static int -fd_get_dma_residue(int channel) -{ - return get_dma_residue(channel); -} - -static void -fd_enable_irq(int irq) -{ - enable_irq(irq); -} - -static void -fd_disable_irq(int irq) -{ - disable_irq(irq); -} - -void -sni_fd_cacheflush(const void *addr, size_t size) -{ - flush_cache_all(); -} - -/* - * RTC stuff (This is a guess on how the RM handles this ...) - */ -static unsigned char -rtc_read_data(unsigned long addr) -{ - outb_p(addr, RTC_PORT(0)); - return inb_p(RTC_PORT(1)); -} - -static void -rtc_write_data(unsigned char data, unsigned long addr) -{ - outb_p(addr, RTC_PORT(0)); - outb_p(data, RTC_PORT(1)); -} - -struct feature sni_rm200_pci_feature = { - /* - * How to access the floppy controller's ports - */ - fd_inb, - fd_outb, - /* - * How to access the floppy DMA functions. - */ - fd_enable_dma, - fd_disable_dma, - fd_request_dma, - fd_free_dma, - fd_clear_dma_ff, - fd_set_dma_mode, - fd_set_dma_addr, - fd_set_dma_count, - fd_get_dma_residue, - fd_enable_irq, - fd_disable_irq, - /* - * How to access the RTC functions. - */ - rtc_read_data, - rtc_write_data -}; #define KBD_STAT_IBF 0x02 /* Keyboard input buffer full */ diff --git a/arch/mips/sni/pcimt_scache.c b/arch/mips/sni/pcimt_scache.c index 8c19fb623..c74903bbd 100644 --- a/arch/mips/sni/pcimt_scache.c +++ b/arch/mips/sni/pcimt_scache.c @@ -1,15 +1,15 @@ -/* +/* $Id: pcimt_scache.c,v 1.1 1998/03/04 08:47:29 ralf Exp $ + * * arch/mips/sni/pcimt_scache.c * * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. * - * Copyright (c) 1997 by Ralf Baechle - * - * $Id: pcimt_scache.c,v 1.1 1997/12/20 13:13:40 ralf Exp $ + * Copyright (c) 1997, 1998 by Ralf Baechle */ #include <linux/init.h> +#include <linux/kernel.h> #include <asm/bcache.h> #include <asm/sni.h> diff --git a/arch/mips/sni/setup.c b/arch/mips/sni/setup.c index d2b0109e7..60b51a5d4 100644 --- a/arch/mips/sni/setup.c +++ b/arch/mips/sni/setup.c @@ -1,4 +1,4 @@ -/* $Id: setup.c,v 1.6 1998/05/04 09:12:58 ralf Exp $ +/* $Id: setup.c,v 1.7 1998/05/07 23:44:02 ralf Exp $ * * Setup pointers to hardware dependant routines. * @@ -26,7 +26,6 @@ #include <asm/processor.h> #include <asm/reboot.h> #include <asm/sni.h> -#include <asm/vector.h> #include <asm/pci.h> /* @@ -40,8 +39,6 @@ static void no_action(int cpl, void *dev_id, struct pt_regs *regs) { } static struct irqaction irq2 = { no_action, 0, 0, "cascade", NULL, NULL}; extern asmlinkage void sni_rm200_pci_handle_int(void); -extern asmlinkage void sni_fd_cacheflush(const void *addr, size_t size); -extern struct feature sni_rm200_pci_feature; extern void sni_rm200_keyboard_setup(void); extern void sni_machine_restart(char *command); @@ -49,6 +46,7 @@ extern void sni_machine_halt(void); extern void sni_machine_power_off(void); extern struct ide_ops std_ide_ops; +extern struct rtc_ops std_rtc_ops; __initfunc(static void sni_irq_setup(void)) { @@ -133,8 +131,6 @@ __initfunc(void sni_rm200_pci_setup(void)) sni_pcimt_sc_init(); irq_setup = sni_irq_setup; - fd_cacheflush = sni_fd_cacheflush; // Will go away - feature = &sni_rm200_pci_feature; mips_io_port_base = SNI_PORT_BASE; keyboard_setup = sni_rm200_keyboard_setup; @@ -165,7 +161,10 @@ __initfunc(void sni_rm200_pci_setup(void)) */ request_region(0xcfc,0x04,"PCI config data"); pci_ops = &sni_pci_ops; + #ifdef CONFIG_BLK_DEV_IDE ide_ops = &std_ide_ops; #endif + + rtc_ops = &std_rtc_ops; } |