- 19 Jan, 2014 1 commit
-
-
Finn Thain authored
For SCC initialization we cannot assume that the control register is in the correct state to accept a register pointer. So first read from the control register in order to "sync" up. Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
- 13 Jan, 2014 1 commit
-
-
Michael Schmitz authored
Some Atari hardware has no capacity to raise interrupts (e.g. network or USB adapter hardware attached via ROM port). The driver interrupt routine is called from a timer interrupt (timer D) in these cases, using chained device specific pseudo interrupts (IRQ_MFP_TIMER1 ff.) These interrupts will more often than not, return IRQ_NONE as there is not always work for the device handler when called. Too many unhandled interrupts will result in the interrupt being disabled by the stuck interrupt watchdog. As preferred option to flag interrupts as needing exclusion from the watchdog mechanism, tglx added the IRQ_IS_POLLED flag for use in such a case. Currently, two interrupts need to use this flag. Add more users as needed. Signed-off-by: Michael Schmitz <schmitz@debian.org> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
- 30 Dec, 2013 7 commits
-
-
Geert Uytterhoeven authored
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
It's too valuable for debugging to be disabled. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
Also fix a few printf-style formats, to get rid of the following compiler warnings when DEBUG is enabled: arch/m68k/kernel/traps.c: In function ‘access_error060’: arch/m68k/kernel/traps.c:166: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘long unsigned int’ arch/m68k/kernel/traps.c: In function ‘bus_error030’: arch/m68k/kernel/traps.c:568: warning: format ‘%#lx’ expects type ‘long unsigned int’, but argument 2 has type ‘void *’ arch/m68k/kernel/traps.c:682: warning: format ‘%#lx’ expects type ‘long unsigned int’, but argument 2 has type ‘void *’ Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
When DEBUG is enabled, do_page_fault() may dereference a NULL pointer, causing recursive bus errors. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
Cfr. commit 7934779a ("Driver-Core: disable /sbin/hotplug by default"). Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
- 08 Dec, 2013 6 commits
-
-
Geert Uytterhoeven authored
Rename RTC_PORT() to ATARI_RTC_PORT(), as the rtc-cmos RTC driver uses the presence of this macro to enable support for the second NVRAM bank, which Atari doesn't have ("Unable to handle kernel access at virtual address 00ff8965"). Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
Since commit d6713b40 ("m68k: early parameter support"), the user can specify multiple debug consoles using the "debug=" kernel command line parameter. However, as there's only a single struct console object, which is reused, it would actually register the same console object multiple times, causing the following warning: WARNING: CPU: 0 PID: 0 at kernel/printk/printk.c:2233 register_console+0x36/ console 'debug0' already registered Make sure to register the console object only once, to avoid the warning. Note that still only one console (the one corresponding to the last "debug=" parameter) will be active at the same time, as the .write() method of the already registered console object is overwritten by a subsequent "debug=" parameter. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
This reduces the kernel image size by ca. 160 KiB. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
Add optional support to export the bootinfo used to boot the kernel in a "bootinfo" file in procfs. This is useful with kexec. This is based on the similar feature for ATAGS on ARM. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
As reported by Finn Thain, the Mac IIsi ADB driver should be disabled because it will crash. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
- 26 Nov, 2013 25 commits
-
-
Geert Uytterhoeven authored
Use the beam position registers, which provide at least 17 bits of data changing at 1.79 MHz. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
On m68k, get_cycles() (the default implementation for random_get_entropy()) always returns zero, providing no entropy for the random driver. Add a hook where platforms can provide their own implementation, and wire it up in the infrastructure provided by commit 61875f30 ("random: allow architectures to optionally define random_get_entropy()"). Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
nf_init() uses virt_to_phys(), which depends on m68k_memoffset being set and module_fixup() having been called, but this is only done in paging_init(). Hence call paging_init() before nf_init(). This went unnoticed, as virt_to_phys() is a no-op on Atari, unless you start fiddling with the memory blocks in the bootinfo manually. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
Move generic definitions used by bootstraps to uapi/asm/bootinfo.h: - Machine types, - CPU, FPU, and MMU types, - struct mem_info. Keep a copy of struct mem_info for in-kernel use, and rename it to struct m68k_mem_info, as the exported one will be modified later. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
Export the bootinfo definitions that are used by bootstrap loaders, and split them up in generic and platform-specific parts. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
struct mac_booter_data is no longer part of the bootinfo API, hence move it from <asm/bootinfo.h> to <asm/macintosh.h>, dropping all unused fields in the process. Also remove the no longer used mac_booter_data pointer from head.S. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
Drop remainings and API for backwards compatibility with bootinfo interface version 1.0. This was used when booting a 2.1.x or newer kernel on Amiga, Atari, or Mac using a bootstrap for kernel 2.0.x. Everybody upgraded his bootstrap a long time ago, so this can go. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
Since the introduction of init sections (which are located after BSS), the bootinfo is no longer located right after the BSS, but after all kernel sections. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
Remove the external declarations for m68k_realnum_memory and m68k_memory, which are already provided by <asm/setup.h>, to avoid conflicts later. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
Fix member definitions for non-native userspace handling: - All multi-byte values are big-endian, hence use __be*, - All pointers are 32-bit pointers under AmigaOS, but unused (except for cd_BoardAddr) under Linux, hence use __be32. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
The Zorro definitions and device IDs are used by bootstraps, hence they should be exported through UAPI. Unfortunately zorro.h was never marked for export when headers_install was introduced, so it was forgotten during the big UAPI disintegration. In addition, the removal of zorro_ids.h had been sneaked into commit 7e7a43c3 ("PCI: don't export device IDs to userspace") before, so it was also forgotten. Split off and export the Zorro definitions used by bootstraps. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
ZTWO_VADDR() converts from physical to virtual I/O addresses, so it should return "void __iomem *" instead of "unsigned long". This allows to drop several casts, but requires adding a few casts to accomodate legacy driver frameworks that store "unsigned long" I/O addresses. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
Filling in dev_name of the Zorro bus type and dev.id of each device allows the driver core to enumerate devices, so we don't have to do that ourselves. This changes the names of devices in sysfs from "%02x" to "zorro%u". Note that filling in dev.id is also needed to support MFD Zorro devices. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
Using an empty static inline function in the CONFIG_ZORRO_NAMES=n case allows to drop compilation of names.c. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
If the device is not found in the database, it's not needed to fill in a dummy name. The caller of zorro_name_device() has already taken care of that to support CONFIG_ZORRO_NAMES=n. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-
Geert Uytterhoeven authored
Currently the array of Zorro devices is allocated statically, wasting up to 4.5 KiB when running an Amiga or multi-platform kernel on a machine with no or a handful of Zorro expansion cards. Convert it to conditional dynamic memory allocation to fix this. amiga_parse_bootinfo() still needs to store some information about the detected Zorro devices, at a time even the bootmem allocator is not yet available. This is now handled using a much smaller array (typically less than 0.5 KiB), which is __initdata and thus freed later. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
-