A Linux kernel built for the Malta board currently relies upon the
bootloader having performed a fairly significant amount of hardware
initialisation. This causes a number of issues:
- Malta has traditionally only been used with YAMON as its bootloader
and Linux has become reliant upon setup which YAMON performs. Other
bootloaders may not require all of that setup for their own use but
if the kernel is not capable of it then all bootloaders still have
to perform that hardware setup regardless of whether they need it
themselves. This is currently the case for U-boot.
- Malta is a development board & thus some would like to be able to
load kernels via a JTAG debugger. In this case no bootloader has
been executed and so little of that setup has been performed.
Loading a kernel via JTAG becomes impractical if you first have to
probe your PCI bus & setup PIIX4 interrupts via JTAG...
This series removes a few of the dependencies which Linux has upon the
bootloader. The first 2 caused problems whilst porting U-boot to Malta
and currently cause U-boot to perform initialisation that it would
otherwise not need to do. More unnecessary dependencies remain to be
tackled in the future.
Paul Burton (3):
MIPS: Malta: initialise the RTC at boot
MIPS: Malta: mux & enable SERIRQ interrupt
MIPS: Malta: use generic 8250 early console
arch/mips/Kconfig | 1 -
arch/mips/include/asm/mips-boards/piix4.h | 7 ++++
arch/mips/mti-malta/Makefile | 2 --
arch/mips/mti-malta/malta-console.c | 47 -------------------------
arch/mips/mti-malta/malta-init.c | 58 ++++++++++++++++++-------------
arch/mips/mti-malta/malta-time.c | 13 +++++++
arch/mips/pci/fixup-malta.c | 11 ++++++
7 files changed, 64 insertions(+), 75 deletions(-)
delete mode 100644 arch/mips/mti-malta/malta-console.c