Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dc113c1f authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
  m68k/block: amiflop - Remove superfluous amiga_chip_alloc() cast
  m68k/atari: ARAnyM - Add support for network access
  m68k/atari: ARAnyM - Add support for console access
  m68k/atari: ARAnyM - Add support for block access
  m68k/atari: Initial ARAnyM support
  m68k: Kconfig - Remove unneeded "default n"
  m68k: Makefiles - Change to new flags variables
  m68k/amiga: Reclaim Chip RAM for PPC exception handlers
  m68k: Allow all kernel traps to be handled via exception fixups
  m68k: Use base_trap_init() to initialize vectors
  m68k: Add helper function handle_kernel_fault()
parents 63a93699 059718d5
Loading
Loading
Loading
Loading
+31 −2
Original line number Diff line number Diff line
@@ -18,11 +18,9 @@ config RWSEM_XCHGADD_ALGORITHM

config ARCH_HAS_ILOG2_U32
	bool
	default n

config ARCH_HAS_ILOG2_U64
	bool
	default n

config GENERIC_HWEIGHT
	bool
@@ -242,6 +240,37 @@ config SUN3

	  If you don't want to compile a kernel exclusively for a Sun 3, say N.

config NATFEAT
	bool "ARAnyM emulator support"
	depends on ATARI
	help
	  This option enables support for ARAnyM native features, such as
	  access to a disk image as /dev/hda.

config NFBLOCK
	tristate "NatFeat block device support"
	depends on BLOCK && NATFEAT
	help
	  Say Y to include support for the ARAnyM NatFeat block device
	  which allows direct access to the hard drives without using
	  the hardware emulation.

config NFCON
	tristate "NatFeat console driver"
	depends on NATFEAT
	help
	  Say Y to include support for the ARAnyM NatFeat console driver
	  which allows the console output to be redirected to the stderr
	  output of ARAnyM.

config NFETH
	tristate "NatFeat Ethernet support"
	depends on NET_ETHERNET && NATFEAT
	help
	  Say Y to include support for the ARAnyM NatFeat network device
	  which will emulate a regular ethernet device while presenting an
	  ethertap device to the host system.

comment "Processor type"

config M68020
+1 −0
Original line number Diff line number Diff line
@@ -76,6 +76,7 @@ core-$(CONFIG_MVME16x) += arch/m68k/mvme16x/
core-$(CONFIG_BVME6000)		+= arch/m68k/bvme6000/
core-$(CONFIG_SUN3X)		+= arch/m68k/sun3x/	arch/m68k/sun3/
core-$(CONFIG_SUN3)		+= arch/m68k/sun3/	arch/m68k/sun3/prom/
core-$(CONFIG_NATFEAT)		+= arch/m68k/emu/
core-$(CONFIG_M68040)		+= arch/m68k/fpsp040/
core-$(CONFIG_M68060)		+= arch/m68k/ifpsp060/
core-$(CONFIG_M68KFPU_EMU)	+= arch/m68k/math-emu/
+0 −4
Original line number Diff line number Diff line
@@ -33,10 +33,6 @@ void __init amiga_chip_init(void)
    if (!AMIGAHW_PRESENT(CHIP_RAM))
	return;

    /*
     *  Remove the first 4 pages where PPC exception handlers will be located
     */
    amiga_chip_size -= 0x4000;
    chipram_res.end = amiga_chip_size-1;
    request_resource(&iomem_resource, &chipram_res);

arch/m68k/emu/Makefile

0 → 100644
+9 −0
Original line number Diff line number Diff line
#
# Makefile for Linux arch/m68k/emu source directory
#

obj-y			+= natfeat.o

obj-$(CONFIG_NFBLOCK)	+= nfblock.o
obj-$(CONFIG_NFCON)	+= nfcon.o
obj-$(CONFIG_NFETH)	+= nfeth.o
+78 −0
Original line number Diff line number Diff line
/*
 * natfeat.c - ARAnyM hardware support via Native Features (natfeats)
 *
 * Copyright (c) 2005 Petr Stehlik of ARAnyM dev team
 *
 * Reworked for Linux by Roman Zippel <zippel@linux-m68k.org>
 *
 * This software may be used and distributed according to the terms of
 * the GNU General Public License (GPL), incorporated herein by reference.
 */

#include <linux/types.h>
#include <linux/console.h>
#include <linux/string.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/io.h>
#include <asm/machdep.h>
#include <asm/natfeat.h>

asm("\n"
"	.global nf_get_id,nf_call\n"
"nf_get_id:\n"
"	.short	0x7300\n"
"	rts\n"
"nf_call:\n"
"	.short	0x7301\n"
"	rts\n"
"1:	moveq.l	#0,%d0\n"
"	rts\n"
"	.section __ex_table,\"a\"\n"
"	.long	nf_get_id,1b\n"
"	.long	nf_call,1b\n"
"	.previous");
EXPORT_SYMBOL_GPL(nf_get_id);
EXPORT_SYMBOL_GPL(nf_call);

void nfprint(const char *fmt, ...)
{
	static char buf[256];
	va_list ap;
	int n;

	va_start(ap, fmt);
	n = vsnprintf(buf, 256, fmt, ap);
	nf_call(nf_get_id("NF_STDERR"), buf);
	va_end(ap);
}

static void nf_poweroff(void)
{
	long id = nf_get_id("NF_SHUTDOWN");

	if (id)
		nf_call(id);
}

void nf_init(void)
{
	unsigned long id, version;
	char buf[256];

	id = nf_get_id("NF_VERSION");
	if (!id)
		return;
	version = nf_call(id);

	id = nf_get_id("NF_NAME");
	if (!id)
		return;
	nf_call(id, buf, 256);
	buf[255] = 0;

	pr_info("NatFeats found (%s, %lu.%lu)\n", buf, version >> 16,
		version & 0xffff);

	mach_power_off = nf_poweroff;
}
Loading