diff options
Diffstat (limited to 'arch/m68k')
125 files changed, 2260 insertions, 1535 deletions
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig index 311a300d48c..87b7c7581b1 100644 --- a/arch/m68k/Kconfig +++ b/arch/m68k/Kconfig @@ -1,6 +1,7 @@  config M68K  	bool  	default y +	select ARCH_MIGHT_HAVE_PC_PARPORT if ISA  	select HAVE_IDE  	select HAVE_AOUT if MMU  	select HAVE_DEBUG_BUGVERBOSE @@ -16,6 +17,7 @@ config M68K  	select FPU if MMU  	select ARCH_WANT_IPC_PARSE_VERSION  	select ARCH_USES_GETTIMEOFFSET if MMU && !COLDFIRE +	select HAVE_FUTEX_CMPXCHG if MMU && FUTEX  	select HAVE_MOD_ARCH_SPECIFIC  	select MODULES_USE_ELF_REL  	select MODULES_USE_ELF_RELA @@ -50,7 +52,7 @@ config TIME_LOW_RES  	bool  	default y -config NO_IOPORT +config NO_IOPORT_MAP  	def_bool y  config NO_DMA @@ -86,6 +88,30 @@ config MMU_SUN3  	bool  	depends on MMU && !MMU_MOTOROLA && !MMU_COLDFIRE +config KEXEC +	bool "kexec system call" +	depends on M68KCLASSIC +	help +	  kexec is a system call that implements the ability to shutdown your +	  current kernel, and to start another kernel.  It is like a reboot +	  but it is independent of the system firmware.   And like a reboot +	  you can start any kernel with it, not just Linux. + +	  The name comes from the similarity to the exec system call. + +	  It is an ongoing process to be certain the hardware in a machine +	  is properly shutdown, so do not be surprised if this code does not +	  initially work for you.  As of this writing the exact hardware +	  interface is strongly in flux, so no good recommendation can be +	  made. + +config BOOTINFO_PROC +	bool "Export bootinfo in procfs" +	depends on KEXEC && M68KCLASSIC +	help +	  Say Y to export the bootinfo used to boot the kernel in a +	  "bootinfo" file in procfs.  This is useful with kexec. +  menu "Platform setup"  source arch/m68k/Kconfig.cpu diff --git a/arch/m68k/Kconfig.debug b/arch/m68k/Kconfig.debug index 22968272124..64776d7ac19 100644 --- a/arch/m68k/Kconfig.debug +++ b/arch/m68k/Kconfig.debug @@ -12,12 +12,17 @@ config BOOTPARAM_STRING  config EARLY_PRINTK  	bool "Early printk" -	depends on MVME16x || MAC +	depends on !(SUN3 || M68360 || M68000 || COLDFIRE)  	help            Write kernel log output directly to a serial port. +          Where implemented, output goes to the framebuffer as well. +          PROM console functionality on Sun 3x is not affected by this option. + +          Pass "earlyprintk" on the kernel command line to get a +          boot console.            This is useful for kernel debugging when your machine crashes very -          early before the console code is initialized. +          early, i.e. before the normal console driver is loaded.            You should normally say N here, unless you want to debug such a crash.  if !MMU diff --git a/arch/m68k/amiga/amisound.c b/arch/m68k/amiga/amisound.c index 2559eefc6af..90a60d758f8 100644 --- a/arch/m68k/amiga/amisound.c +++ b/arch/m68k/amiga/amisound.c @@ -51,7 +51,7 @@ void __init amiga_init_sound(void)  	snd_data = amiga_chip_alloc_res(sizeof(sine_data), &beep_res);  	if (!snd_data) { -		printk (KERN_CRIT "amiga init_sound: failed to allocate chipmem\n"); +		pr_crit("amiga init_sound: failed to allocate chipmem\n");  		return;  	}  	memcpy (snd_data, sine_data, sizeof(sine_data)); diff --git a/arch/m68k/amiga/chipram.c b/arch/m68k/amiga/chipram.c index 99449fbf9a7..ba03cec3f71 100644 --- a/arch/m68k/amiga/chipram.c +++ b/arch/m68k/amiga/chipram.c @@ -87,7 +87,7 @@ void *amiga_chip_alloc_res(unsigned long size, struct resource *res)  	atomic_sub(size, &chipavail);  	pr_debug("amiga_chip_alloc_res: returning %pR\n", res); -	return (void *)ZTWO_VADDR(res->start); +	return ZTWO_VADDR(res->start);  }  void amiga_chip_free(void *ptr) diff --git a/arch/m68k/amiga/cia.c b/arch/m68k/amiga/cia.c index 18c0e29976e..2081b8cd559 100644 --- a/arch/m68k/amiga/cia.c +++ b/arch/m68k/amiga/cia.c @@ -18,6 +18,7 @@  #include <linux/init.h>  #include <linux/seq_file.h>  #include <linux/interrupt.h> +#include <linux/irq.h>  #include <asm/irq.h>  #include <asm/amigahw.h> diff --git a/arch/m68k/amiga/config.c b/arch/m68k/amiga/config.c index b819390e29c..01693df7f2f 100644 --- a/arch/m68k/amiga/config.c +++ b/arch/m68k/amiga/config.c @@ -28,6 +28,8 @@  #include <linux/keyboard.h>  #include <asm/bootinfo.h> +#include <asm/bootinfo-amiga.h> +#include <asm/byteorder.h>  #include <asm/setup.h>  #include <asm/pgtable.h>  #include <asm/amigahw.h> @@ -140,48 +142,48 @@ static struct resource ram_resource[NUM_MEMINFO];       *  Parse an Amiga-specific record in the bootinfo       */ -int amiga_parse_bootinfo(const struct bi_record *record) +int __init amiga_parse_bootinfo(const struct bi_record *record)  {  	int unknown = 0; -	const unsigned long *data = record->data; +	const void *data = record->data; -	switch (record->tag) { +	switch (be16_to_cpu(record->tag)) {  	case BI_AMIGA_MODEL: -		amiga_model = *data; +		amiga_model = be32_to_cpup(data);  		break;  	case BI_AMIGA_ECLOCK: -		amiga_eclock = *data; +		amiga_eclock = be32_to_cpup(data);  		break;  	case BI_AMIGA_CHIPSET: -		amiga_chipset = *data; +		amiga_chipset = be32_to_cpup(data);  		break;  	case BI_AMIGA_CHIP_SIZE: -		amiga_chip_size = *(const int *)data; +		amiga_chip_size = be32_to_cpup(data);  		break;  	case BI_AMIGA_VBLANK: -		amiga_vblank = *(const unsigned char *)data; +		amiga_vblank = *(const __u8 *)data;  		break;  	case BI_AMIGA_PSFREQ: -		amiga_psfreq = *(const unsigned char *)data; +		amiga_psfreq = *(const __u8 *)data;  		break;  	case BI_AMIGA_AUTOCON:  #ifdef CONFIG_ZORRO  		if (zorro_num_autocon < ZORRO_NUM_AUTO) { -			const struct ConfigDev *cd = (struct ConfigDev *)data; -			struct zorro_dev *dev = &zorro_autocon[zorro_num_autocon++]; +			const struct ConfigDev *cd = data; +			struct zorro_dev_init *dev = &zorro_autocon_init[zorro_num_autocon++];  			dev->rom = cd->cd_Rom; -			dev->slotaddr = cd->cd_SlotAddr; -			dev->slotsize = cd->cd_SlotSize; -			dev->resource.start = (unsigned long)cd->cd_BoardAddr; -			dev->resource.end = dev->resource.start + cd->cd_BoardSize - 1; +			dev->slotaddr = be16_to_cpu(cd->cd_SlotAddr); +			dev->slotsize = be16_to_cpu(cd->cd_SlotSize); +			dev->boardaddr = be32_to_cpu(cd->cd_BoardAddr); +			dev->boardsize = be32_to_cpu(cd->cd_BoardSize);  		} else -			printk("amiga_parse_bootinfo: too many AutoConfig devices\n"); +			pr_warn("amiga_parse_bootinfo: too many AutoConfig devices\n");  #endif /* CONFIG_ZORRO */  		break; @@ -207,9 +209,9 @@ static void __init amiga_identify(void)  	memset(&amiga_hw_present, 0, sizeof(amiga_hw_present)); -	printk("Amiga hardware found: "); +	pr_info("Amiga hardware found: ");  	if (amiga_model >= AMI_500 && amiga_model <= AMI_DRACO) { -		printk("[%s] ", amiga_models[amiga_model-AMI_500]); +		pr_cont("[%s] ", amiga_models[amiga_model-AMI_500]);  		strcat(amiga_model_name, amiga_models[amiga_model-AMI_500]);  	} @@ -320,7 +322,7 @@ static void __init amiga_identify(void)  #define AMIGAHW_ANNOUNCE(name, str)		\  	if (AMIGAHW_PRESENT(name))		\ -		printk(str) +		pr_cont(str)  	AMIGAHW_ANNOUNCE(AMI_VIDEO, "VIDEO ");  	AMIGAHW_ANNOUNCE(AMI_BLITTER, "BLITTER "); @@ -352,12 +354,20 @@ static void __init amiga_identify(void)  	AMIGAHW_ANNOUNCE(MAGIC_REKICK, "MAGIC_REKICK ");  	AMIGAHW_ANNOUNCE(PCMCIA, "PCMCIA ");  	if (AMIGAHW_PRESENT(ZORRO)) -		printk("ZORRO%s ", AMIGAHW_PRESENT(ZORRO3) ? "3" : ""); -	printk("\n"); +		pr_cont("ZORRO%s ", AMIGAHW_PRESENT(ZORRO3) ? "3" : ""); +	pr_cont("\n");  #undef AMIGAHW_ANNOUNCE  } + +static unsigned long amiga_random_get_entropy(void) +{ +	/* VPOSR/VHPOSR provide at least 17 bits of data changing at 1.79 MHz */ +	return *(unsigned long *)&amiga_custom.vposr; +} + +      /*       *  Setup the Amiga configuration info       */ @@ -395,6 +405,8 @@ void __init config_amiga(void)  	mach_heartbeat = amiga_heartbeat;  #endif +	mach_random_get_entropy = amiga_random_get_entropy; +  	/* Fill in the clock value (based on the 700 kHz E-Clock) */  	amiga_colorclock = 5*amiga_eclock;	/* 3.5 MHz */ @@ -412,7 +424,7 @@ void __init config_amiga(void)  			if (m68k_memory[i].addr < 16*1024*1024) {  				if (i == 0) {  					/* don't cut off the branch we're sitting on */ -					printk("Warning: kernel runs in Zorro II memory\n"); +					pr_warn("Warning: kernel runs in Zorro II memory\n");  					continue;  				}  				disabled_z2mem += m68k_memory[i].size; @@ -423,8 +435,8 @@ void __init config_amiga(void)  			}  		}  		if (disabled_z2mem) -		printk("%dK of Zorro II memory will not be used as system memory\n", -		disabled_z2mem>>10); +			pr_info("%dK of Zorro II memory will not be used as system memory\n", +				disabled_z2mem>>10);  	}  	/* request all RAM */ @@ -463,7 +475,7 @@ static void __init amiga_sched_init(irq_handler_t timer_routine)  	jiffy_ticks = DIV_ROUND_CLOSEST(amiga_eclock, HZ);  	if (request_resource(&mb_resources._ciab, &sched_res)) -		printk("Cannot allocate ciab.ta{lo,hi}\n"); +		pr_warn("Cannot allocate ciab.ta{lo,hi}\n");  	ciab.cra &= 0xC0;   /* turn off timer A, continuous mode, from Eclk */  	ciab.talo = jiffy_ticks % 256;  	ciab.tahi = jiffy_ticks / 256; @@ -608,6 +620,8 @@ static void amiga_mem_console_write(struct console *co, const char *s,  static int __init amiga_savekmsg_setup(char *arg)  { +	bool registered; +  	if (!MACH_IS_AMIGA || strcmp(arg, "mem"))  		return 0; @@ -618,14 +632,16 @@ static int __init amiga_savekmsg_setup(char *arg)  	/* Just steal the block, the chipram allocator isn't functional yet */  	amiga_chip_size -= SAVEKMSG_MAXMEM; -	savekmsg = (void *)ZTWO_VADDR(CHIP_PHYSADDR + amiga_chip_size); +	savekmsg = ZTWO_VADDR(CHIP_PHYSADDR + amiga_chip_size);  	savekmsg->magic1 = SAVEKMSG_MAGIC1;  	savekmsg->magic2 = SAVEKMSG_MAGIC2;  	savekmsg->magicptr = ZTWO_PADDR(savekmsg);  	savekmsg->size = 0; +	registered = !!amiga_console_driver.write;  	amiga_console_driver.write = amiga_mem_console_write; -	register_console(&amiga_console_driver); +	if (!registered) +		register_console(&amiga_console_driver);  	return 0;  } @@ -707,11 +723,16 @@ void amiga_serial_gets(struct console *co, char *s, int len)  static int __init amiga_debug_setup(char *arg)  { -	if (MACH_IS_AMIGA && !strcmp(arg, "ser")) { -		/* no initialization required (?) */ -		amiga_console_driver.write = amiga_serial_console_write; +	bool registered; + +	if (!MACH_IS_AMIGA || strcmp(arg, "ser")) +		return 0; + +	/* no initialization required (?) */ +	registered = !!amiga_console_driver.write; +	amiga_console_driver.write = amiga_serial_console_write; +	if (!registered)  		register_console(&amiga_console_driver); -	}  	return 0;  } diff --git a/arch/m68k/amiga/platform.c b/arch/m68k/amiga/platform.c index dacd9f911f7..d34029d7b05 100644 --- a/arch/m68k/amiga/platform.c +++ b/arch/m68k/amiga/platform.c @@ -13,6 +13,7 @@  #include <asm/amigahw.h>  #include <asm/amigayle.h> +#include <asm/byteorder.h>  #ifdef CONFIG_ZORRO @@ -66,10 +67,12 @@ static int __init z_dev_present(zorro_id id)  {  	unsigned int i; -	for (i = 0; i < zorro_num_autocon; i++) -		if (zorro_autocon[i].rom.er_Manufacturer == ZORRO_MANUF(id) && -		    zorro_autocon[i].rom.er_Product == ZORRO_PROD(id)) +	for (i = 0; i < zorro_num_autocon; i++) { +		const struct ExpansionRom *rom = &zorro_autocon_init[i].rom; +		if (be16_to_cpu(rom->er_Manufacturer) == ZORRO_MANUF(id) && +		    rom->er_Product == ZORRO_PROD(id))  			return 1; +	}  	return 0;  } diff --git a/arch/m68k/apollo/config.c b/arch/m68k/apollo/config.c index 3ea56b90e71..6e62d66c396 100644 --- a/arch/m68k/apollo/config.c +++ b/arch/m68k/apollo/config.c @@ -1,3 +1,4 @@ +#include <linux/init.h>  #include <linux/types.h>  #include <linux/kernel.h>  #include <linux/mm.h> @@ -9,6 +10,8 @@  #include <asm/setup.h>  #include <asm/bootinfo.h> +#include <asm/bootinfo-apollo.h> +#include <asm/byteorder.h>  #include <asm/pgtable.h>  #include <asm/apollohw.h>  #include <asm/irq.h> @@ -43,28 +46,27 @@ static const char *apollo_models[] = {  	[APOLLO_DN4500-APOLLO_DN3000] = "DN4500 (Roadrunner)"  }; -int apollo_parse_bootinfo(const struct bi_record *record) { - +int __init apollo_parse_bootinfo(const struct bi_record *record) +{  	int unknown = 0; -	const unsigned long *data = record->data; +	const void *data = record->data; -	switch(record->tag) { -		case BI_APOLLO_MODEL: -			apollo_model=*data; -			break; +	switch (be16_to_cpu(record->tag)) { +	case BI_APOLLO_MODEL: +		apollo_model = be32_to_cpup(data); +		break; -		default: -			 unknown=1; +	default: +		 unknown=1;  	}  	return unknown;  } -void dn_setup_model(void) { - - -	printk("Apollo hardware found: "); -	printk("[%s]\n", apollo_models[apollo_model - APOLLO_DN3000]); +static void __init dn_setup_model(void) +{ +	pr_info("Apollo hardware found: [%s]\n", +		apollo_models[apollo_model - APOLLO_DN3000]);  	switch(apollo_model) {  		case APOLLO_UNKNOWN: @@ -195,8 +197,10 @@ void dn_sched_init(irq_handler_t timer_routine)  	*(volatile unsigned char *)(pica+1)&=(~8);  #if 0 -	printk("*(0x10803) %02x\n",*(volatile unsigned char *)(apollo_timer + 0x3)); -	printk("*(0x10803) %02x\n",*(volatile unsigned char *)(apollo_timer + 0x3)); +	pr_info("*(0x10803) %02x\n", +		*(volatile unsigned char *)(apollo_timer + 0x3)); +	pr_info("*(0x10803) %02x\n", +		*(volatile unsigned char *)(apollo_timer + 0x3));  #endif  	if (request_irq(IRQ_APOLLO, dn_timer_int, 0, "time", timer_routine)) @@ -234,12 +238,10 @@ int dn_dummy_hwclk(int op, struct rtc_time *t) {  } -int dn_dummy_set_clock_mmss(unsigned long nowtime) { - -  printk("set_clock_mmss\n"); - -  return 0; - +int dn_dummy_set_clock_mmss(unsigned long nowtime) +{ +	pr_info("set_clock_mmss\n"); +	return 0;  }  void dn_dummy_reset(void) { diff --git a/arch/m68k/atari/ataints.c b/arch/m68k/atari/ataints.c index 20cde4e9fc7..3d2b63bedf0 100644 --- a/arch/m68k/atari/ataints.c +++ b/arch/m68k/atari/ataints.c @@ -41,6 +41,7 @@  #include <linux/init.h>  #include <linux/seq_file.h>  #include <linux/module.h> +#include <linux/irq.h>  #include <asm/traps.h> @@ -333,6 +334,9 @@ void __init atari_init_IRQ(void)  	m68k_setup_irq_controller(&atari_mfptimer_chip, handle_simple_irq,  				  IRQ_MFP_TIMER1, 8); +	irq_set_status_flags(IRQ_MFP_TIMER1, IRQ_IS_POLLED); +	irq_set_status_flags(IRQ_MFP_TIMER2, IRQ_IS_POLLED); +  	/* prepare timer D data for use as poll interrupt */  	/* set Timer D data Register - needs to be > 0 */  	st_mfp.tim_dt_d = 254;	/* < 100 Hz */ diff --git a/arch/m68k/atari/config.c b/arch/m68k/atari/config.c index fb2d0bd9b3a..01a62161b08 100644 --- a/arch/m68k/atari/config.c +++ b/arch/m68k/atari/config.c @@ -37,6 +37,8 @@  #include <linux/module.h>  #include <asm/bootinfo.h> +#include <asm/bootinfo-atari.h> +#include <asm/byteorder.h>  #include <asm/setup.h>  #include <asm/atarihw.h>  #include <asm/atariints.h> @@ -129,14 +131,14 @@ static int __init scc_test(volatile char *ctla)  int __init atari_parse_bootinfo(const struct bi_record *record)  {  	int unknown = 0; -	const u_long *data = record->data; +	const void *data = record->data; -	switch (record->tag) { +	switch (be16_to_cpu(record->tag)) {  	case BI_ATARI_MCH_COOKIE: -		atari_mch_cookie = *data; +		atari_mch_cookie = be32_to_cpup(data);  		break;  	case BI_ATARI_MCH_TYPE: -		atari_mch_type = *data; +		atari_mch_type = be32_to_cpup(data);  		break;  	default:  		unknown = 1; diff --git a/arch/m68k/atari/debug.c b/arch/m68k/atari/debug.c index a547ba9683d..03cb5e08d7c 100644 --- a/arch/m68k/atari/debug.c +++ b/arch/m68k/atari/debug.c @@ -287,6 +287,8 @@ static void __init atari_init_midi_port(int cflag)  static int __init atari_debug_setup(char *arg)  { +	bool registered; +  	if (!MACH_IS_ATARI)  		return 0; @@ -294,6 +296,7 @@ static int __init atari_debug_setup(char *arg)  		/* defaults to ser2 for a Falcon and ser1 otherwise */  		arg = MACH_IS_FALCON ? "ser2" : "ser1"; +	registered = !!atari_console_driver.write;  	if (!strcmp(arg, "ser1")) {  		/* ST-MFP Modem1 serial port */  		atari_init_mfp_port(B9600|CS8); @@ -317,7 +320,7 @@ static int __init atari_debug_setup(char *arg)  		sound_ym.wd_data = sound_ym.rd_data_reg_sel | 0x20; /* strobe H */  		atari_console_driver.write = atari_par_console_write;  	} -	if (atari_console_driver.write) +	if (atari_console_driver.write && !registered)  		register_console(&atari_console_driver);  	return 0; diff --git a/arch/m68k/atari/stram.c b/arch/m68k/atari/stram.c index 0810c8d56e5..5f8cb5a234d 100644 --- a/arch/m68k/atari/stram.c +++ b/arch/m68k/atari/stram.c @@ -47,6 +47,7 @@ static struct resource stram_pool = {  static unsigned long pool_size = 1024*1024; +static unsigned long stram_virt_offset;  static int __init atari_stram_setup(char *arg)  { @@ -67,14 +68,12 @@ early_param("stram_pool", atari_stram_setup);  void __init atari_stram_init(void)  {  	int i; -	void *stram_start;  	/*  	 * determine whether kernel code resides in ST-RAM  	 * (then ST-RAM is the first memory block at virtual 0x0)  	 */ -	stram_start = phys_to_virt(0); -	kernel_in_stram = (stram_start == 0); +	kernel_in_stram = (m68k_memory[0].addr == 0);  	for (i = 0; i < m68k_num_memory; ++i) {  		if (m68k_memory[i].addr == 0) { @@ -89,24 +88,62 @@ void __init atari_stram_init(void)  /*   * This function is called from setup_arch() to reserve the pages needed for - * ST-RAM management. + * ST-RAM management, if the kernel resides in ST-RAM.   */  void __init atari_stram_reserve_pages(void *start_mem)  { -	/* -	 * always reserve first page of ST-RAM, the first 2 KiB are -	 * supervisor-only! -	 */ -	if (!kernel_in_stram) -		reserve_bootmem(0, PAGE_SIZE, BOOTMEM_DEFAULT); +	if (kernel_in_stram) { +		pr_debug("atari_stram pool: kernel in ST-RAM, using alloc_bootmem!\n"); +		stram_pool.start = (resource_size_t)alloc_bootmem_low_pages(pool_size); +		stram_pool.end = stram_pool.start + pool_size - 1; +		request_resource(&iomem_resource, &stram_pool); +		stram_virt_offset = 0; +		pr_debug("atari_stram pool: size = %lu bytes, resource = %pR\n", +			pool_size, &stram_pool); +		pr_debug("atari_stram pool: stram_virt_offset = %lx\n", +			stram_virt_offset); +	} +} -	stram_pool.start = (resource_size_t)alloc_bootmem_low_pages(pool_size); -	stram_pool.end = stram_pool.start + pool_size - 1; -	request_resource(&iomem_resource, &stram_pool); -	pr_debug("atari_stram pool: size = %lu bytes, resource = %pR\n", -		 pool_size, &stram_pool); +/* + * This function is called as arch initcall to reserve the pages needed for + * ST-RAM management, if the kernel does not reside in ST-RAM. + */ +int __init atari_stram_map_pages(void) +{ +	if (!kernel_in_stram) { +		/* +		 * Skip page 0, as the fhe first 2 KiB are supervisor-only! +		 */ +		pr_debug("atari_stram pool: kernel not in ST-RAM, using ioremap!\n"); +		stram_pool.start = PAGE_SIZE; +		stram_pool.end = stram_pool.start + pool_size - 1; +		request_resource(&iomem_resource, &stram_pool); +		stram_virt_offset = (unsigned long) ioremap(stram_pool.start, +				resource_size(&stram_pool)) - stram_pool.start; +		pr_debug("atari_stram pool: size = %lu bytes, resource = %pR\n", +			pool_size, &stram_pool); +		pr_debug("atari_stram pool: stram_virt_offset = %lx\n", +			stram_virt_offset); +	} +	return 0; +} +arch_initcall(atari_stram_map_pages); + + +void *atari_stram_to_virt(unsigned long phys) +{ +	return (void *)(phys + stram_virt_offset); +} +EXPORT_SYMBOL(atari_stram_to_virt); + + +unsigned long atari_stram_to_phys(void *virt) +{ +	return (unsigned long)(virt - stram_virt_offset);  } +EXPORT_SYMBOL(atari_stram_to_phys);  void *atari_stram_alloc(unsigned long size, const char *owner) @@ -134,14 +171,14 @@ void *atari_stram_alloc(unsigned long size, const char *owner)  	}  	pr_debug("atari_stram_alloc: returning %pR\n", res); -	return (void *)res->start; +	return atari_stram_to_virt(res->start);  }  EXPORT_SYMBOL(atari_stram_alloc);  void atari_stram_free(void *addr)  { -	unsigned long start = (unsigned long)addr; +	unsigned long start = atari_stram_to_phys(addr);  	struct resource *res;  	unsigned long size; diff --git a/arch/m68k/bvme6000/config.c b/arch/m68k/bvme6000/config.c index 8943aa4c18e..478623dbb20 100644 --- a/arch/m68k/bvme6000/config.c +++ b/arch/m68k/bvme6000/config.c @@ -28,6 +28,8 @@  #include <linux/bcd.h>  #include <asm/bootinfo.h> +#include <asm/bootinfo-vme.h> +#include <asm/byteorder.h>  #include <asm/pgtable.h>  #include <asm/setup.h>  #include <asm/irq.h> @@ -50,9 +52,9 @@ void bvme6000_set_vectors (void);  static irq_handler_t tick_handler; -int bvme6000_parse_bootinfo(const struct bi_record *bi) +int __init bvme6000_parse_bootinfo(const struct bi_record *bi)  { -	if (bi->tag == BI_VME_TYPE) +	if (be16_to_cpu(bi->tag) == BI_VME_TYPE)  		return 0;  	else  		return 1; diff --git a/arch/m68k/configs/amiga_defconfig b/arch/m68k/configs/amiga_defconfig index 19325e117ee..d7eac833a94 100644 --- a/arch/m68k/configs/amiga_defconfig +++ b/arch/m68k/configs/amiga_defconfig @@ -24,6 +24,8 @@ CONFIG_SUN_PARTITION=y  # CONFIG_EFI_PARTITION is not set  CONFIG_SYSV68_PARTITION=y  CONFIG_IOSCHED_DEADLINE=m +CONFIG_KEXEC=y +CONFIG_BOOTINFO_PROC=y  CONFIG_M68020=y  CONFIG_M68030=y  CONFIG_M68040=y @@ -52,7 +54,6 @@ CONFIG_IP_PNP_RARP=y  CONFIG_NET_IPIP=m  CONFIG_NET_IPGRE_DEMUX=m  CONFIG_NET_IPGRE=m -CONFIG_SYN_COOKIES=y  CONFIG_NET_IPVTI=m  CONFIG_INET_AH=m  CONFIG_INET_ESP=m @@ -63,11 +64,11 @@ CONFIG_INET_XFRM_MODE_BEET=m  # CONFIG_INET_LRO is not set  CONFIG_INET_DIAG=m  CONFIG_INET_UDP_DIAG=m -CONFIG_IPV6_PRIVACY=y  CONFIG_IPV6_ROUTER_PREF=y  CONFIG_INET6_AH=m  CONFIG_INET6_ESP=m  CONFIG_INET6_IPCOMP=m +CONFIG_IPV6_VTI=m  CONFIG_IPV6_GRE=m  CONFIG_NETFILTER=y  CONFIG_NF_CONNTRACK=m @@ -85,6 +86,20 @@ CONFIG_NF_CONNTRACK_PPTP=m  CONFIG_NF_CONNTRACK_SANE=m  CONFIG_NF_CONNTRACK_SIP=m  CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_TABLES=m +CONFIG_NF_TABLES_INET=m +CONFIG_NFT_EXTHDR=m +CONFIG_NFT_META=m +CONFIG_NFT_CT=m +CONFIG_NFT_RBTREE=m +CONFIG_NFT_HASH=m +CONFIG_NFT_COUNTER=m +CONFIG_NFT_LOG=m +CONFIG_NFT_LIMIT=m +CONFIG_NFT_NAT=m +CONFIG_NFT_QUEUE=m +CONFIG_NFT_REJECT=m +CONFIG_NFT_COMPAT=m  CONFIG_NETFILTER_XT_SET=m  CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m  CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m @@ -98,6 +113,7 @@ CONFIG_NETFILTER_XT_TARGET_NFLOG=m  CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m  CONFIG_NETFILTER_XT_TARGET_NOTRACK=m  CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m  CONFIG_NETFILTER_XT_TARGET_TRACE=m  CONFIG_NETFILTER_XT_TARGET_TCPMSS=m  CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m @@ -115,6 +131,7 @@ CONFIG_NETFILTER_XT_MATCH_DSCP=m  CONFIG_NETFILTER_XT_MATCH_ESP=m  CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m  CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_IPCOMP=m  CONFIG_NETFILTER_XT_MATCH_IPRANGE=m  CONFIG_NETFILTER_XT_MATCH_LENGTH=m  CONFIG_NETFILTER_XT_MATCH_LIMIT=m @@ -130,6 +147,7 @@ CONFIG_NETFILTER_XT_MATCH_QUOTA=m  CONFIG_NETFILTER_XT_MATCH_RATEEST=m  CONFIG_NETFILTER_XT_MATCH_REALM=m  CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_SOCKET=m  CONFIG_NETFILTER_XT_MATCH_STATE=m  CONFIG_NETFILTER_XT_MATCH_STATISTIC=m  CONFIG_NETFILTER_XT_MATCH_STRING=m @@ -141,14 +159,20 @@ CONFIG_IP_SET_BITMAP_IP=m  CONFIG_IP_SET_BITMAP_IPMAC=m  CONFIG_IP_SET_BITMAP_PORT=m  CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPMARK=m  CONFIG_IP_SET_HASH_IPPORT=m  CONFIG_IP_SET_HASH_IPPORTIP=m  CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_NETPORTNET=m  CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETNET=m  CONFIG_IP_SET_HASH_NETPORT=m  CONFIG_IP_SET_HASH_NETIFACE=m  CONFIG_IP_SET_LIST_SET=m  CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NFT_CHAIN_ROUTE_IPV4=m +CONFIG_NFT_CHAIN_NAT_IPV4=m +CONFIG_NF_TABLES_ARP=m  CONFIG_IP_NF_IPTABLES=m  CONFIG_IP_NF_MATCH_AH=m  CONFIG_IP_NF_MATCH_ECN=m @@ -156,6 +180,7 @@ CONFIG_IP_NF_MATCH_RPFILTER=m  CONFIG_IP_NF_MATCH_TTL=m  CONFIG_IP_NF_FILTER=m  CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_SYNPROXY=m  CONFIG_IP_NF_TARGET_ULOG=m  CONFIG_NF_NAT_IPV4=m  CONFIG_IP_NF_TARGET_MASQUERADE=m @@ -170,6 +195,8 @@ CONFIG_IP_NF_ARPTABLES=m  CONFIG_IP_NF_ARPFILTER=m  CONFIG_IP_NF_ARP_MANGLE=m  CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_NFT_CHAIN_ROUTE_IPV6=m +CONFIG_NFT_CHAIN_NAT_IPV6=m  CONFIG_IP6_NF_IPTABLES=m  CONFIG_IP6_NF_MATCH_AH=m  CONFIG_IP6_NF_MATCH_EUI64=m @@ -183,11 +210,13 @@ CONFIG_IP6_NF_MATCH_RT=m  CONFIG_IP6_NF_TARGET_HL=m  CONFIG_IP6_NF_FILTER=m  CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_TARGET_SYNPROXY=m  CONFIG_IP6_NF_MANGLE=m  CONFIG_IP6_NF_RAW=m  CONFIG_NF_NAT_IPV6=m  CONFIG_IP6_NF_TARGET_MASQUERADE=m  CONFIG_IP6_NF_TARGET_NPT=m +CONFIG_NF_TABLES_BRIDGE=m  CONFIG_IP_DCCP=m  # CONFIG_IP_DCCP_CCID3 is not set  CONFIG_SCTP_COOKIE_HMAC_SHA1=y @@ -195,10 +224,14 @@ CONFIG_RDS=m  CONFIG_RDS_TCP=m  CONFIG_L2TP=m  CONFIG_ATALK=m +CONFIG_DNS_RESOLVER=y  CONFIG_BATMAN_ADV=m  CONFIG_BATMAN_ADV_DAT=y +CONFIG_BATMAN_ADV_NC=y +CONFIG_BATMAN_ADV_MCAST=y +CONFIG_NETLINK_DIAG=m +CONFIG_NET_MPLS_GSO=m  # CONFIG_WIRELESS is not set -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"  CONFIG_DEVTMPFS=y  # CONFIG_FIRMWARE_IN_KERNEL is not set  # CONFIG_FW_LOADER_USER_HELPER is not set @@ -216,6 +249,7 @@ CONFIG_BLK_DEV_NBD=m  CONFIG_BLK_DEV_RAM=y  CONFIG_CDROM_PKTCDVD=m  CONFIG_ATA_OVER_ETH=m +CONFIG_DUMMY_IRQ=m  CONFIG_IDE=y  CONFIG_IDE_GD_ATAPI=y  CONFIG_BLK_DEV_IDECD=y @@ -247,6 +281,7 @@ CONFIG_DM_CRYPT=m  CONFIG_DM_SNAPSHOT=m  CONFIG_DM_THIN_PROVISIONING=m  CONFIG_DM_CACHE=m +CONFIG_DM_ERA=m  CONFIG_DM_MIRROR=m  CONFIG_DM_RAID=m  CONFIG_DM_ZERO=m @@ -262,6 +297,7 @@ CONFIG_EQUALIZER=m  CONFIG_NET_TEAM=m  CONFIG_NET_TEAM_MODE_BROADCAST=m  CONFIG_NET_TEAM_MODE_ROUNDROBIN=m +CONFIG_NET_TEAM_MODE_RANDOM=m  CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m  CONFIG_NET_TEAM_MODE_LOADBALANCE=m  CONFIG_VXLAN=m @@ -271,10 +307,9 @@ CONFIG_VETH=m  # CONFIG_NET_VENDOR_3COM is not set  CONFIG_A2065=y  CONFIG_ARIADNE=y -# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_ARC is not set  # CONFIG_NET_VENDOR_BROADCOM is not set  # CONFIG_NET_VENDOR_CIRRUS is not set -# CONFIG_NET_VENDOR_FUJITSU is not set  # CONFIG_NET_VENDOR_HP is not set  # CONFIG_NET_VENDOR_INTEL is not set  # CONFIG_NET_VENDOR_MARVELL is not set @@ -282,9 +317,11 @@ CONFIG_ARIADNE=y  CONFIG_HYDRA=y  CONFIG_APNE=y  CONFIG_ZORRO8390=y +# CONFIG_NET_VENDOR_SAMSUNG is not set  # CONFIG_NET_VENDOR_SEEQ is not set  # CONFIG_NET_VENDOR_SMSC is not set  # CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_NET_VENDOR_VIA is not set  # CONFIG_NET_VENDOR_WIZNET is not set  CONFIG_PPP=m  CONFIG_PPP_BSDCOMP=m @@ -311,7 +348,6 @@ CONFIG_JOYSTICK_AMIGA=m  CONFIG_INPUT_MISC=y  CONFIG_INPUT_M68K_BEEP=m  # CONFIG_SERIO is not set -CONFIG_VT_HW_CONSOLE_BINDING=y  # CONFIG_LEGACY_PTYS is not set  # CONFIG_DEVKMEM is not set  CONFIG_PRINTER=m @@ -345,10 +381,6 @@ CONFIG_HEARTBEAT=y  CONFIG_PROC_HARDWARE=y  CONFIG_AMIGA_BUILTIN_SERIAL=y  CONFIG_SERIAL_CONSOLE=y -CONFIG_EXT2_FS=y -CONFIG_EXT3_FS=y -# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set -# CONFIG_EXT3_FS_XATTR is not set  CONFIG_EXT4_FS=y  CONFIG_REISERFS_FS=m  CONFIG_JFS_FS=m @@ -385,7 +417,7 @@ CONFIG_QNX6FS_FS=m  CONFIG_SYSV_FS=m  CONFIG_UFS_FS=m  CONFIG_NFS_FS=y -CONFIG_NFS_V4=y +CONFIG_NFS_V4=m  CONFIG_NFS_SWAP=y  CONFIG_ROOT_NFS=y  CONFIG_NFSD=m @@ -444,10 +476,10 @@ CONFIG_NLS_MAC_TURKISH=m  CONFIG_DLM=m  CONFIG_MAGIC_SYSRQ=y  CONFIG_ASYNC_RAID6_TEST=m +CONFIG_TEST_STRING_HELPERS=m  CONFIG_ENCRYPTED_KEYS=m  CONFIG_CRYPTO_MANAGER=y  CONFIG_CRYPTO_USER=m -CONFIG_CRYPTO_NULL=m  CONFIG_CRYPTO_CRYPTD=m  CONFIG_CRYPTO_TEST=m  CONFIG_CRYPTO_CCM=m @@ -480,11 +512,12 @@ CONFIG_CRYPTO_TEA=m  CONFIG_CRYPTO_TWOFISH=m  CONFIG_CRYPTO_ZLIB=m  CONFIG_CRYPTO_LZO=m +CONFIG_CRYPTO_LZ4=m +CONFIG_CRYPTO_LZ4HC=m  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_USER_API_HASH=m  CONFIG_CRYPTO_USER_API_SKCIPHER=m  # CONFIG_CRYPTO_HW is not set -CONFIG_CRC_T10DIF=y  CONFIG_XZ_DEC_X86=y  CONFIG_XZ_DEC_POWERPC=y  CONFIG_XZ_DEC_IA64=y diff --git a/arch/m68k/configs/apollo_defconfig b/arch/m68k/configs/apollo_defconfig index 14dc6ccda7f..650ee75de6c 100644 --- a/arch/m68k/configs/apollo_defconfig +++ b/arch/m68k/configs/apollo_defconfig @@ -25,6 +25,8 @@ CONFIG_SUN_PARTITION=y  # CONFIG_EFI_PARTITION is not set  CONFIG_SYSV68_PARTITION=y  CONFIG_IOSCHED_DEADLINE=m +CONFIG_KEXEC=y +CONFIG_BOOTINFO_PROC=y  CONFIG_M68020=y  CONFIG_M68030=y  CONFIG_M68040=y @@ -50,7 +52,6 @@ CONFIG_IP_PNP_RARP=y  CONFIG_NET_IPIP=m  CONFIG_NET_IPGRE_DEMUX=m  CONFIG_NET_IPGRE=m -CONFIG_SYN_COOKIES=y  CONFIG_NET_IPVTI=m  CONFIG_INET_AH=m  CONFIG_INET_ESP=m @@ -61,11 +62,11 @@ CONFIG_INET_XFRM_MODE_BEET=m  # CONFIG_INET_LRO is not set  CONFIG_INET_DIAG=m  CONFIG_INET_UDP_DIAG=m -CONFIG_IPV6_PRIVACY=y  CONFIG_IPV6_ROUTER_PREF=y  CONFIG_INET6_AH=m  CONFIG_INET6_ESP=m  CONFIG_INET6_IPCOMP=m +CONFIG_IPV6_VTI=m  CONFIG_IPV6_GRE=m  CONFIG_NETFILTER=y  CONFIG_NF_CONNTRACK=m @@ -83,6 +84,20 @@ CONFIG_NF_CONNTRACK_PPTP=m  CONFIG_NF_CONNTRACK_SANE=m  CONFIG_NF_CONNTRACK_SIP=m  CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_TABLES=m +CONFIG_NF_TABLES_INET=m +CONFIG_NFT_EXTHDR=m +CONFIG_NFT_META=m +CONFIG_NFT_CT=m +CONFIG_NFT_RBTREE=m +CONFIG_NFT_HASH=m +CONFIG_NFT_COUNTER=m +CONFIG_NFT_LOG=m +CONFIG_NFT_LIMIT=m +CONFIG_NFT_NAT=m +CONFIG_NFT_QUEUE=m +CONFIG_NFT_REJECT=m +CONFIG_NFT_COMPAT=m  CONFIG_NETFILTER_XT_SET=m  CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m  CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m @@ -96,6 +111,7 @@ CONFIG_NETFILTER_XT_TARGET_NFLOG=m  CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m  CONFIG_NETFILTER_XT_TARGET_NOTRACK=m  CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m  CONFIG_NETFILTER_XT_TARGET_TRACE=m  CONFIG_NETFILTER_XT_TARGET_TCPMSS=m  CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m @@ -113,6 +129,7 @@ CONFIG_NETFILTER_XT_MATCH_DSCP=m  CONFIG_NETFILTER_XT_MATCH_ESP=m  CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m  CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_IPCOMP=m  CONFIG_NETFILTER_XT_MATCH_IPRANGE=m  CONFIG_NETFILTER_XT_MATCH_LENGTH=m  CONFIG_NETFILTER_XT_MATCH_LIMIT=m @@ -128,6 +145,7 @@ CONFIG_NETFILTER_XT_MATCH_QUOTA=m  CONFIG_NETFILTER_XT_MATCH_RATEEST=m  CONFIG_NETFILTER_XT_MATCH_REALM=m  CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_SOCKET=m  CONFIG_NETFILTER_XT_MATCH_STATE=m  CONFIG_NETFILTER_XT_MATCH_STATISTIC=m  CONFIG_NETFILTER_XT_MATCH_STRING=m @@ -139,14 +157,20 @@ CONFIG_IP_SET_BITMAP_IP=m  CONFIG_IP_SET_BITMAP_IPMAC=m  CONFIG_IP_SET_BITMAP_PORT=m  CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPMARK=m  CONFIG_IP_SET_HASH_IPPORT=m  CONFIG_IP_SET_HASH_IPPORTIP=m  CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_NETPORTNET=m  CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETNET=m  CONFIG_IP_SET_HASH_NETPORT=m  CONFIG_IP_SET_HASH_NETIFACE=m  CONFIG_IP_SET_LIST_SET=m  CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NFT_CHAIN_ROUTE_IPV4=m +CONFIG_NFT_CHAIN_NAT_IPV4=m +CONFIG_NF_TABLES_ARP=m  CONFIG_IP_NF_IPTABLES=m  CONFIG_IP_NF_MATCH_AH=m  CONFIG_IP_NF_MATCH_ECN=m @@ -154,6 +178,7 @@ CONFIG_IP_NF_MATCH_RPFILTER=m  CONFIG_IP_NF_MATCH_TTL=m  CONFIG_IP_NF_FILTER=m  CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_SYNPROXY=m  CONFIG_IP_NF_TARGET_ULOG=m  CONFIG_NF_NAT_IPV4=m  CONFIG_IP_NF_TARGET_MASQUERADE=m @@ -168,6 +193,8 @@ CONFIG_IP_NF_ARPTABLES=m  CONFIG_IP_NF_ARPFILTER=m  CONFIG_IP_NF_ARP_MANGLE=m  CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_NFT_CHAIN_ROUTE_IPV6=m +CONFIG_NFT_CHAIN_NAT_IPV6=m  CONFIG_IP6_NF_IPTABLES=m  CONFIG_IP6_NF_MATCH_AH=m  CONFIG_IP6_NF_MATCH_EUI64=m @@ -181,11 +208,13 @@ CONFIG_IP6_NF_MATCH_RT=m  CONFIG_IP6_NF_TARGET_HL=m  CONFIG_IP6_NF_FILTER=m  CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_TARGET_SYNPROXY=m  CONFIG_IP6_NF_MANGLE=m  CONFIG_IP6_NF_RAW=m  CONFIG_NF_NAT_IPV6=m  CONFIG_IP6_NF_TARGET_MASQUERADE=m  CONFIG_IP6_NF_TARGET_NPT=m +CONFIG_NF_TABLES_BRIDGE=m  CONFIG_IP_DCCP=m  # CONFIG_IP_DCCP_CCID3 is not set  CONFIG_SCTP_COOKIE_HMAC_SHA1=y @@ -193,10 +222,14 @@ CONFIG_RDS=m  CONFIG_RDS_TCP=m  CONFIG_L2TP=m  CONFIG_ATALK=m +CONFIG_DNS_RESOLVER=y  CONFIG_BATMAN_ADV=m  CONFIG_BATMAN_ADV_DAT=y +CONFIG_BATMAN_ADV_NC=y +CONFIG_BATMAN_ADV_MCAST=y +CONFIG_NETLINK_DIAG=m +CONFIG_NET_MPLS_GSO=m  # CONFIG_WIRELESS is not set -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"  CONFIG_DEVTMPFS=y  # CONFIG_FIRMWARE_IN_KERNEL is not set  # CONFIG_FW_LOADER_USER_HELPER is not set @@ -208,6 +241,7 @@ CONFIG_BLK_DEV_NBD=m  CONFIG_BLK_DEV_RAM=y  CONFIG_CDROM_PKTCDVD=m  CONFIG_ATA_OVER_ETH=m +CONFIG_DUMMY_IRQ=m  CONFIG_RAID_ATTRS=m  CONFIG_SCSI=y  CONFIG_SCSI_TGT=m @@ -229,6 +263,7 @@ CONFIG_DM_CRYPT=m  CONFIG_DM_SNAPSHOT=m  CONFIG_DM_THIN_PROVISIONING=m  CONFIG_DM_CACHE=m +CONFIG_DM_ERA=m  CONFIG_DM_MIRROR=m  CONFIG_DM_RAID=m  CONFIG_DM_ZERO=m @@ -244,20 +279,23 @@ CONFIG_EQUALIZER=m  CONFIG_NET_TEAM=m  CONFIG_NET_TEAM_MODE_BROADCAST=m  CONFIG_NET_TEAM_MODE_ROUNDROBIN=m +CONFIG_NET_TEAM_MODE_RANDOM=m  CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m  CONFIG_NET_TEAM_MODE_LOADBALANCE=m  CONFIG_VXLAN=m  CONFIG_NETCONSOLE=m  CONFIG_NETCONSOLE_DYNAMIC=y  CONFIG_VETH=m -# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_ARC is not set  # CONFIG_NET_VENDOR_BROADCOM is not set  # CONFIG_NET_VENDOR_INTEL is not set  # CONFIG_NET_VENDOR_MARVELL is not set  # CONFIG_NET_VENDOR_MICREL is not set  # CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_SAMSUNG is not set  # CONFIG_NET_VENDOR_SEEQ is not set  # CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_NET_VENDOR_VIA is not set  # CONFIG_NET_VENDOR_WIZNET is not set  CONFIG_PPP=m  CONFIG_PPP_BSDCOMP=m @@ -279,7 +317,6 @@ CONFIG_INPUT_EVDEV=m  # CONFIG_MOUSE_PS2 is not set  CONFIG_MOUSE_SERIAL=m  CONFIG_SERIO=m -CONFIG_VT_HW_CONSOLE_BINDING=y  # CONFIG_LEGACY_PTYS is not set  # CONFIG_DEVKMEM is not set  # CONFIG_HW_RANDOM is not set @@ -302,10 +339,6 @@ CONFIG_RTC_DRV_GENERIC=m  # CONFIG_IOMMU_SUPPORT is not set  CONFIG_HEARTBEAT=y  CONFIG_PROC_HARDWARE=y -CONFIG_EXT2_FS=y -CONFIG_EXT3_FS=y -# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set -# CONFIG_EXT3_FS_XATTR is not set  CONFIG_EXT4_FS=y  CONFIG_REISERFS_FS=m  CONFIG_JFS_FS=m @@ -342,7 +375,7 @@ CONFIG_QNX6FS_FS=m  CONFIG_SYSV_FS=m  CONFIG_UFS_FS=m  CONFIG_NFS_FS=y -CONFIG_NFS_V4=y +CONFIG_NFS_V4=m  CONFIG_NFS_SWAP=y  CONFIG_ROOT_NFS=y  CONFIG_NFSD=m @@ -401,10 +434,10 @@ CONFIG_NLS_MAC_TURKISH=m  CONFIG_DLM=m  CONFIG_MAGIC_SYSRQ=y  CONFIG_ASYNC_RAID6_TEST=m +CONFIG_TEST_STRING_HELPERS=m  CONFIG_ENCRYPTED_KEYS=m  CONFIG_CRYPTO_MANAGER=y  CONFIG_CRYPTO_USER=m -CONFIG_CRYPTO_NULL=m  CONFIG_CRYPTO_CRYPTD=m  CONFIG_CRYPTO_TEST=m  CONFIG_CRYPTO_CCM=m @@ -437,11 +470,12 @@ CONFIG_CRYPTO_TEA=m  CONFIG_CRYPTO_TWOFISH=m  CONFIG_CRYPTO_ZLIB=m  CONFIG_CRYPTO_LZO=m +CONFIG_CRYPTO_LZ4=m +CONFIG_CRYPTO_LZ4HC=m  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_USER_API_HASH=m  CONFIG_CRYPTO_USER_API_SKCIPHER=m  # CONFIG_CRYPTO_HW is not set -CONFIG_CRC_T10DIF=y  CONFIG_XZ_DEC_X86=y  CONFIG_XZ_DEC_POWERPC=y  CONFIG_XZ_DEC_IA64=y diff --git a/arch/m68k/configs/atari_defconfig b/arch/m68k/configs/atari_defconfig index 6d5370c914b..3142e69342f 100644 --- a/arch/m68k/configs/atari_defconfig +++ b/arch/m68k/configs/atari_defconfig @@ -24,6 +24,8 @@ CONFIG_SUN_PARTITION=y  # CONFIG_EFI_PARTITION is not set  CONFIG_SYSV68_PARTITION=y  CONFIG_IOSCHED_DEADLINE=m +CONFIG_KEXEC=y +CONFIG_BOOTINFO_PROC=y  CONFIG_M68020=y  CONFIG_M68030=y  CONFIG_M68040=y @@ -49,7 +51,6 @@ CONFIG_IP_PNP_RARP=y  CONFIG_NET_IPIP=m  CONFIG_NET_IPGRE_DEMUX=m  CONFIG_NET_IPGRE=m -CONFIG_SYN_COOKIES=y  CONFIG_NET_IPVTI=m  CONFIG_INET_AH=m  CONFIG_INET_ESP=m @@ -60,11 +61,11 @@ CONFIG_INET_XFRM_MODE_BEET=m  # CONFIG_INET_LRO is not set  CONFIG_INET_DIAG=m  CONFIG_INET_UDP_DIAG=m -CONFIG_IPV6_PRIVACY=y  CONFIG_IPV6_ROUTER_PREF=y  CONFIG_INET6_AH=m  CONFIG_INET6_ESP=m  CONFIG_INET6_IPCOMP=m +CONFIG_IPV6_VTI=m  CONFIG_IPV6_GRE=m  CONFIG_NETFILTER=y  CONFIG_NF_CONNTRACK=m @@ -82,6 +83,20 @@ CONFIG_NF_CONNTRACK_PPTP=m  CONFIG_NF_CONNTRACK_SANE=m  CONFIG_NF_CONNTRACK_SIP=m  CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_TABLES=m +CONFIG_NF_TABLES_INET=m +CONFIG_NFT_EXTHDR=m +CONFIG_NFT_META=m +CONFIG_NFT_CT=m +CONFIG_NFT_RBTREE=m +CONFIG_NFT_HASH=m +CONFIG_NFT_COUNTER=m +CONFIG_NFT_LOG=m +CONFIG_NFT_LIMIT=m +CONFIG_NFT_NAT=m +CONFIG_NFT_QUEUE=m +CONFIG_NFT_REJECT=m +CONFIG_NFT_COMPAT=m  CONFIG_NETFILTER_XT_SET=m  CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m  CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m @@ -95,6 +110,7 @@ CONFIG_NETFILTER_XT_TARGET_NFLOG=m  CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m  CONFIG_NETFILTER_XT_TARGET_NOTRACK=m  CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m  CONFIG_NETFILTER_XT_TARGET_TRACE=m  CONFIG_NETFILTER_XT_TARGET_TCPMSS=m  CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m @@ -112,6 +128,7 @@ CONFIG_NETFILTER_XT_MATCH_DSCP=m  CONFIG_NETFILTER_XT_MATCH_ESP=m  CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m  CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_IPCOMP=m  CONFIG_NETFILTER_XT_MATCH_IPRANGE=m  CONFIG_NETFILTER_XT_MATCH_LENGTH=m  CONFIG_NETFILTER_XT_MATCH_LIMIT=m @@ -127,6 +144,7 @@ CONFIG_NETFILTER_XT_MATCH_QUOTA=m  CONFIG_NETFILTER_XT_MATCH_RATEEST=m  CONFIG_NETFILTER_XT_MATCH_REALM=m  CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_SOCKET=m  CONFIG_NETFILTER_XT_MATCH_STATE=m  CONFIG_NETFILTER_XT_MATCH_STATISTIC=m  CONFIG_NETFILTER_XT_MATCH_STRING=m @@ -138,14 +156,20 @@ CONFIG_IP_SET_BITMAP_IP=m  CONFIG_IP_SET_BITMAP_IPMAC=m  CONFIG_IP_SET_BITMAP_PORT=m  CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPMARK=m  CONFIG_IP_SET_HASH_IPPORT=m  CONFIG_IP_SET_HASH_IPPORTIP=m  CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_NETPORTNET=m  CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETNET=m  CONFIG_IP_SET_HASH_NETPORT=m  CONFIG_IP_SET_HASH_NETIFACE=m  CONFIG_IP_SET_LIST_SET=m  CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NFT_CHAIN_ROUTE_IPV4=m +CONFIG_NFT_CHAIN_NAT_IPV4=m +CONFIG_NF_TABLES_ARP=m  CONFIG_IP_NF_IPTABLES=m  CONFIG_IP_NF_MATCH_AH=m  CONFIG_IP_NF_MATCH_ECN=m @@ -153,6 +177,7 @@ CONFIG_IP_NF_MATCH_RPFILTER=m  CONFIG_IP_NF_MATCH_TTL=m  CONFIG_IP_NF_FILTER=m  CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_SYNPROXY=m  CONFIG_IP_NF_TARGET_ULOG=m  CONFIG_NF_NAT_IPV4=m  CONFIG_IP_NF_TARGET_MASQUERADE=m @@ -167,6 +192,8 @@ CONFIG_IP_NF_ARPTABLES=m  CONFIG_IP_NF_ARPFILTER=m  CONFIG_IP_NF_ARP_MANGLE=m  CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_NFT_CHAIN_ROUTE_IPV6=m +CONFIG_NFT_CHAIN_NAT_IPV6=m  CONFIG_IP6_NF_IPTABLES=m  CONFIG_IP6_NF_MATCH_AH=m  CONFIG_IP6_NF_MATCH_EUI64=m @@ -180,11 +207,13 @@ CONFIG_IP6_NF_MATCH_RT=m  CONFIG_IP6_NF_TARGET_HL=m  CONFIG_IP6_NF_FILTER=m  CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_TARGET_SYNPROXY=m  CONFIG_IP6_NF_MANGLE=m  CONFIG_IP6_NF_RAW=m  CONFIG_NF_NAT_IPV6=m  CONFIG_IP6_NF_TARGET_MASQUERADE=m  CONFIG_IP6_NF_TARGET_NPT=m +CONFIG_NF_TABLES_BRIDGE=m  CONFIG_IP_DCCP=m  # CONFIG_IP_DCCP_CCID3 is not set  CONFIG_SCTP_COOKIE_HMAC_SHA1=y @@ -192,10 +221,14 @@ CONFIG_RDS=m  CONFIG_RDS_TCP=m  CONFIG_L2TP=m  CONFIG_ATALK=m +CONFIG_DNS_RESOLVER=y  CONFIG_BATMAN_ADV=m  CONFIG_BATMAN_ADV_DAT=y +CONFIG_BATMAN_ADV_NC=y +CONFIG_BATMAN_ADV_MCAST=y +CONFIG_NETLINK_DIAG=m +CONFIG_NET_MPLS_GSO=m  # CONFIG_WIRELESS is not set -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"  CONFIG_DEVTMPFS=y  # CONFIG_FIRMWARE_IN_KERNEL is not set  # CONFIG_FW_LOADER_USER_HELPER is not set @@ -211,6 +244,7 @@ CONFIG_BLK_DEV_NBD=m  CONFIG_BLK_DEV_RAM=y  CONFIG_CDROM_PKTCDVD=m  CONFIG_ATA_OVER_ETH=m +CONFIG_DUMMY_IRQ=m  CONFIG_IDE=y  CONFIG_IDE_GD_ATAPI=y  CONFIG_BLK_DEV_IDECD=y @@ -237,6 +271,7 @@ CONFIG_DM_CRYPT=m  CONFIG_DM_SNAPSHOT=m  CONFIG_DM_THIN_PROVISIONING=m  CONFIG_DM_CACHE=m +CONFIG_DM_ERA=m  CONFIG_DM_MIRROR=m  CONFIG_DM_RAID=m  CONFIG_DM_ZERO=m @@ -249,10 +284,10 @@ CONFIG_TCM_PSCSI=m  CONFIG_NETDEVICES=y  CONFIG_DUMMY=m  CONFIG_EQUALIZER=m -CONFIG_MII=y  CONFIG_NET_TEAM=m  CONFIG_NET_TEAM_MODE_BROADCAST=m  CONFIG_NET_TEAM_MODE_ROUNDROBIN=m +CONFIG_NET_TEAM_MODE_RANDOM=m  CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m  CONFIG_NET_TEAM_MODE_LOADBALANCE=m  CONFIG_VXLAN=m @@ -260,13 +295,15 @@ CONFIG_NETCONSOLE=m  CONFIG_NETCONSOLE_DYNAMIC=y  CONFIG_VETH=m  CONFIG_ATARILANCE=y -# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_ARC is not set  # CONFIG_NET_VENDOR_BROADCOM is not set  # CONFIG_NET_VENDOR_INTEL is not set  # CONFIG_NET_VENDOR_MARVELL is not set  # CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_SAMSUNG is not set  # CONFIG_NET_VENDOR_SEEQ is not set  # CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_NET_VENDOR_VIA is not set  # CONFIG_NET_VENDOR_WIZNET is not set  CONFIG_PPP=m  CONFIG_PPP_BSDCOMP=m @@ -291,7 +328,6 @@ CONFIG_MOUSE_ATARI=m  CONFIG_INPUT_MISC=y  CONFIG_INPUT_M68K_BEEP=m  # CONFIG_SERIO is not set -CONFIG_VT_HW_CONSOLE_BINDING=y  # CONFIG_LEGACY_PTYS is not set  # CONFIG_DEVKMEM is not set  CONFIG_PRINTER=m @@ -320,10 +356,6 @@ CONFIG_NFBLOCK=y  CONFIG_NFCON=y  CONFIG_NFETH=y  CONFIG_ATARI_DSP56K=m -CONFIG_EXT2_FS=y -CONFIG_EXT3_FS=y -# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set -# CONFIG_EXT3_FS_XATTR is not set  CONFIG_EXT4_FS=y  CONFIG_REISERFS_FS=m  CONFIG_JFS_FS=m @@ -360,7 +392,7 @@ CONFIG_QNX6FS_FS=m  CONFIG_SYSV_FS=m  CONFIG_UFS_FS=m  CONFIG_NFS_FS=y -CONFIG_NFS_V4=y +CONFIG_NFS_V4=m  CONFIG_NFS_SWAP=y  CONFIG_ROOT_NFS=y  CONFIG_NFSD=m @@ -419,10 +451,10 @@ CONFIG_NLS_MAC_TURKISH=m  CONFIG_DLM=m  CONFIG_MAGIC_SYSRQ=y  CONFIG_ASYNC_RAID6_TEST=m +CONFIG_TEST_STRING_HELPERS=m  CONFIG_ENCRYPTED_KEYS=m  CONFIG_CRYPTO_MANAGER=y  CONFIG_CRYPTO_USER=m -CONFIG_CRYPTO_NULL=m  CONFIG_CRYPTO_CRYPTD=m  CONFIG_CRYPTO_TEST=m  CONFIG_CRYPTO_CCM=m @@ -455,11 +487,12 @@ CONFIG_CRYPTO_TEA=m  CONFIG_CRYPTO_TWOFISH=m  CONFIG_CRYPTO_ZLIB=m  CONFIG_CRYPTO_LZO=m +CONFIG_CRYPTO_LZ4=m +CONFIG_CRYPTO_LZ4HC=m  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_USER_API_HASH=m  CONFIG_CRYPTO_USER_API_SKCIPHER=m  # CONFIG_CRYPTO_HW is not set -CONFIG_CRC_T10DIF=y  CONFIG_XZ_DEC_X86=y  CONFIG_XZ_DEC_POWERPC=y  CONFIG_XZ_DEC_IA64=y diff --git a/arch/m68k/configs/bvme6000_defconfig b/arch/m68k/configs/bvme6000_defconfig index c015ddb6fd8..0daa8a172f3 100644 --- a/arch/m68k/configs/bvme6000_defconfig +++ b/arch/m68k/configs/bvme6000_defconfig @@ -24,6 +24,8 @@ CONFIG_UNIXWARE_DISKLABEL=y  CONFIG_SUN_PARTITION=y  # CONFIG_EFI_PARTITION is not set  CONFIG_IOSCHED_DEADLINE=m +CONFIG_KEXEC=y +CONFIG_BOOTINFO_PROC=y  CONFIG_M68040=y  CONFIG_M68060=y  CONFIG_VME=y @@ -48,7 +50,6 @@ CONFIG_IP_PNP_RARP=y  CONFIG_NET_IPIP=m  CONFIG_NET_IPGRE_DEMUX=m  CONFIG_NET_IPGRE=m -CONFIG_SYN_COOKIES=y  CONFIG_NET_IPVTI=m  CONFIG_INET_AH=m  CONFIG_INET_ESP=m @@ -59,11 +60,11 @@ CONFIG_INET_XFRM_MODE_BEET=m  # CONFIG_INET_LRO is not set  CONFIG_INET_DIAG=m  CONFIG_INET_UDP_DIAG=m -CONFIG_IPV6_PRIVACY=y  CONFIG_IPV6_ROUTER_PREF=y  CONFIG_INET6_AH=m  CONFIG_INET6_ESP=m  CONFIG_INET6_IPCOMP=m +CONFIG_IPV6_VTI=m  CONFIG_IPV6_GRE=m  CONFIG_NETFILTER=y  CONFIG_NF_CONNTRACK=m @@ -81,6 +82,20 @@ CONFIG_NF_CONNTRACK_PPTP=m  CONFIG_NF_CONNTRACK_SANE=m  CONFIG_NF_CONNTRACK_SIP=m  CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_TABLES=m +CONFIG_NF_TABLES_INET=m +CONFIG_NFT_EXTHDR=m +CONFIG_NFT_META=m +CONFIG_NFT_CT=m +CONFIG_NFT_RBTREE=m +CONFIG_NFT_HASH=m +CONFIG_NFT_COUNTER=m +CONFIG_NFT_LOG=m +CONFIG_NFT_LIMIT=m +CONFIG_NFT_NAT=m +CONFIG_NFT_QUEUE=m +CONFIG_NFT_REJECT=m +CONFIG_NFT_COMPAT=m  CONFIG_NETFILTER_XT_SET=m  CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m  CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m @@ -94,6 +109,7 @@ CONFIG_NETFILTER_XT_TARGET_NFLOG=m  CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m  CONFIG_NETFILTER_XT_TARGET_NOTRACK=m  CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m  CONFIG_NETFILTER_XT_TARGET_TRACE=m  CONFIG_NETFILTER_XT_TARGET_TCPMSS=m  CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m @@ -111,6 +127,7 @@ CONFIG_NETFILTER_XT_MATCH_DSCP=m  CONFIG_NETFILTER_XT_MATCH_ESP=m  CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m  CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_IPCOMP=m  CONFIG_NETFILTER_XT_MATCH_IPRANGE=m  CONFIG_NETFILTER_XT_MATCH_LENGTH=m  CONFIG_NETFILTER_XT_MATCH_LIMIT=m @@ -126,6 +143,7 @@ CONFIG_NETFILTER_XT_MATCH_QUOTA=m  CONFIG_NETFILTER_XT_MATCH_RATEEST=m  CONFIG_NETFILTER_XT_MATCH_REALM=m  CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_SOCKET=m  CONFIG_NETFILTER_XT_MATCH_STATE=m  CONFIG_NETFILTER_XT_MATCH_STATISTIC=m  CONFIG_NETFILTER_XT_MATCH_STRING=m @@ -137,14 +155,20 @@ CONFIG_IP_SET_BITMAP_IP=m  CONFIG_IP_SET_BITMAP_IPMAC=m  CONFIG_IP_SET_BITMAP_PORT=m  CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPMARK=m  CONFIG_IP_SET_HASH_IPPORT=m  CONFIG_IP_SET_HASH_IPPORTIP=m  CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_NETPORTNET=m  CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETNET=m  CONFIG_IP_SET_HASH_NETPORT=m  CONFIG_IP_SET_HASH_NETIFACE=m  CONFIG_IP_SET_LIST_SET=m  CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NFT_CHAIN_ROUTE_IPV4=m +CONFIG_NFT_CHAIN_NAT_IPV4=m +CONFIG_NF_TABLES_ARP=m  CONFIG_IP_NF_IPTABLES=m  CONFIG_IP_NF_MATCH_AH=m  CONFIG_IP_NF_MATCH_ECN=m @@ -152,6 +176,7 @@ CONFIG_IP_NF_MATCH_RPFILTER=m  CONFIG_IP_NF_MATCH_TTL=m  CONFIG_IP_NF_FILTER=m  CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_SYNPROXY=m  CONFIG_IP_NF_TARGET_ULOG=m  CONFIG_NF_NAT_IPV4=m  CONFIG_IP_NF_TARGET_MASQUERADE=m @@ -166,6 +191,8 @@ CONFIG_IP_NF_ARPTABLES=m  CONFIG_IP_NF_ARPFILTER=m  CONFIG_IP_NF_ARP_MANGLE=m  CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_NFT_CHAIN_ROUTE_IPV6=m +CONFIG_NFT_CHAIN_NAT_IPV6=m  CONFIG_IP6_NF_IPTABLES=m  CONFIG_IP6_NF_MATCH_AH=m  CONFIG_IP6_NF_MATCH_EUI64=m @@ -179,11 +206,13 @@ CONFIG_IP6_NF_MATCH_RT=m  CONFIG_IP6_NF_TARGET_HL=m  CONFIG_IP6_NF_FILTER=m  CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_TARGET_SYNPROXY=m  CONFIG_IP6_NF_MANGLE=m  CONFIG_IP6_NF_RAW=m  CONFIG_NF_NAT_IPV6=m  CONFIG_IP6_NF_TARGET_MASQUERADE=m  CONFIG_IP6_NF_TARGET_NPT=m +CONFIG_NF_TABLES_BRIDGE=m  CONFIG_IP_DCCP=m  # CONFIG_IP_DCCP_CCID3 is not set  CONFIG_SCTP_COOKIE_HMAC_SHA1=y @@ -191,10 +220,14 @@ CONFIG_RDS=m  CONFIG_RDS_TCP=m  CONFIG_L2TP=m  CONFIG_ATALK=m +CONFIG_DNS_RESOLVER=y  CONFIG_BATMAN_ADV=m  CONFIG_BATMAN_ADV_DAT=y +CONFIG_BATMAN_ADV_NC=y +CONFIG_BATMAN_ADV_MCAST=y +CONFIG_NETLINK_DIAG=m +CONFIG_NET_MPLS_GSO=m  # CONFIG_WIRELESS is not set -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"  CONFIG_DEVTMPFS=y  # CONFIG_FIRMWARE_IN_KERNEL is not set  # CONFIG_FW_LOADER_USER_HELPER is not set @@ -206,6 +239,7 @@ CONFIG_BLK_DEV_NBD=m  CONFIG_BLK_DEV_RAM=y  CONFIG_CDROM_PKTCDVD=m  CONFIG_ATA_OVER_ETH=m +CONFIG_DUMMY_IRQ=m  CONFIG_RAID_ATTRS=m  CONFIG_SCSI=y  CONFIG_SCSI_TGT=m @@ -228,6 +262,7 @@ CONFIG_DM_CRYPT=m  CONFIG_DM_SNAPSHOT=m  CONFIG_DM_THIN_PROVISIONING=m  CONFIG_DM_CACHE=m +CONFIG_DM_ERA=m  CONFIG_DM_MIRROR=m  CONFIG_DM_RAID=m  CONFIG_DM_ZERO=m @@ -243,20 +278,23 @@ CONFIG_EQUALIZER=m  CONFIG_NET_TEAM=m  CONFIG_NET_TEAM_MODE_BROADCAST=m  CONFIG_NET_TEAM_MODE_ROUNDROBIN=m +CONFIG_NET_TEAM_MODE_RANDOM=m  CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m  CONFIG_NET_TEAM_MODE_LOADBALANCE=m  CONFIG_VXLAN=m  CONFIG_NETCONSOLE=m  CONFIG_NETCONSOLE_DYNAMIC=y  CONFIG_VETH=m -# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_ARC is not set  # CONFIG_NET_VENDOR_BROADCOM is not set  CONFIG_BVME6000_NET=y  # CONFIG_NET_VENDOR_MARVELL is not set  # CONFIG_NET_VENDOR_MICREL is not set  # CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_SAMSUNG is not set  # CONFIG_NET_VENDOR_SEEQ is not set  # CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_NET_VENDOR_VIA is not set  # CONFIG_NET_VENDOR_WIZNET is not set  CONFIG_PPP=m  CONFIG_PPP_BSDCOMP=m @@ -294,10 +332,6 @@ CONFIG_RTC_CLASS=y  CONFIG_RTC_DRV_GENERIC=m  # CONFIG_IOMMU_SUPPORT is not set  CONFIG_PROC_HARDWARE=y -CONFIG_EXT2_FS=y -CONFIG_EXT3_FS=y -# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set -# CONFIG_EXT3_FS_XATTR is not set  CONFIG_EXT4_FS=y  CONFIG_REISERFS_FS=m  CONFIG_JFS_FS=m @@ -334,7 +368,7 @@ CONFIG_QNX6FS_FS=m  CONFIG_SYSV_FS=m  CONFIG_UFS_FS=m  CONFIG_NFS_FS=y -CONFIG_NFS_V4=y +CONFIG_NFS_V4=m  CONFIG_NFS_SWAP=y  CONFIG_ROOT_NFS=y  CONFIG_NFSD=m @@ -393,10 +427,10 @@ CONFIG_NLS_MAC_TURKISH=m  CONFIG_DLM=m  CONFIG_MAGIC_SYSRQ=y  CONFIG_ASYNC_RAID6_TEST=m +CONFIG_TEST_STRING_HELPERS=m  CONFIG_ENCRYPTED_KEYS=m  CONFIG_CRYPTO_MANAGER=y  CONFIG_CRYPTO_USER=m -CONFIG_CRYPTO_NULL=m  CONFIG_CRYPTO_CRYPTD=m  CONFIG_CRYPTO_TEST=m  CONFIG_CRYPTO_CCM=m @@ -429,11 +463,12 @@ CONFIG_CRYPTO_TEA=m  CONFIG_CRYPTO_TWOFISH=m  CONFIG_CRYPTO_ZLIB=m  CONFIG_CRYPTO_LZO=m +CONFIG_CRYPTO_LZ4=m +CONFIG_CRYPTO_LZ4HC=m  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_USER_API_HASH=m  CONFIG_CRYPTO_USER_API_SKCIPHER=m  # CONFIG_CRYPTO_HW is not set -CONFIG_CRC_T10DIF=y  CONFIG_XZ_DEC_X86=y  CONFIG_XZ_DEC_POWERPC=y  CONFIG_XZ_DEC_IA64=y diff --git a/arch/m68k/configs/hp300_defconfig b/arch/m68k/configs/hp300_defconfig index ec7382d8aff..88af78f7bad 100644 --- a/arch/m68k/configs/hp300_defconfig +++ b/arch/m68k/configs/hp300_defconfig @@ -25,6 +25,8 @@ CONFIG_SUN_PARTITION=y  # CONFIG_EFI_PARTITION is not set  CONFIG_SYSV68_PARTITION=y  CONFIG_IOSCHED_DEADLINE=m +CONFIG_KEXEC=y +CONFIG_BOOTINFO_PROC=y  CONFIG_M68020=y  CONFIG_M68030=y  CONFIG_M68040=y @@ -50,7 +52,6 @@ CONFIG_IP_PNP_RARP=y  CONFIG_NET_IPIP=m  CONFIG_NET_IPGRE_DEMUX=m  CONFIG_NET_IPGRE=m -CONFIG_SYN_COOKIES=y  CONFIG_NET_IPVTI=m  CONFIG_INET_AH=m  CONFIG_INET_ESP=m @@ -61,11 +62,11 @@ CONFIG_INET_XFRM_MODE_BEET=m  # CONFIG_INET_LRO is not set  CONFIG_INET_DIAG=m  CONFIG_INET_UDP_DIAG=m -CONFIG_IPV6_PRIVACY=y  CONFIG_IPV6_ROUTER_PREF=y  CONFIG_INET6_AH=m  CONFIG_INET6_ESP=m  CONFIG_INET6_IPCOMP=m +CONFIG_IPV6_VTI=m  CONFIG_IPV6_GRE=m  CONFIG_NETFILTER=y  CONFIG_NF_CONNTRACK=m @@ -83,6 +84,20 @@ CONFIG_NF_CONNTRACK_PPTP=m  CONFIG_NF_CONNTRACK_SANE=m  CONFIG_NF_CONNTRACK_SIP=m  CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_TABLES=m +CONFIG_NF_TABLES_INET=m +CONFIG_NFT_EXTHDR=m +CONFIG_NFT_META=m +CONFIG_NFT_CT=m +CONFIG_NFT_RBTREE=m +CONFIG_NFT_HASH=m +CONFIG_NFT_COUNTER=m +CONFIG_NFT_LOG=m +CONFIG_NFT_LIMIT=m +CONFIG_NFT_NAT=m +CONFIG_NFT_QUEUE=m +CONFIG_NFT_REJECT=m +CONFIG_NFT_COMPAT=m  CONFIG_NETFILTER_XT_SET=m  CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m  CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m @@ -96,6 +111,7 @@ CONFIG_NETFILTER_XT_TARGET_NFLOG=m  CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m  CONFIG_NETFILTER_XT_TARGET_NOTRACK=m  CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m  CONFIG_NETFILTER_XT_TARGET_TRACE=m  CONFIG_NETFILTER_XT_TARGET_TCPMSS=m  CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m @@ -113,6 +129,7 @@ CONFIG_NETFILTER_XT_MATCH_DSCP=m  CONFIG_NETFILTER_XT_MATCH_ESP=m  CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m  CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_IPCOMP=m  CONFIG_NETFILTER_XT_MATCH_IPRANGE=m  CONFIG_NETFILTER_XT_MATCH_LENGTH=m  CONFIG_NETFILTER_XT_MATCH_LIMIT=m @@ -128,6 +145,7 @@ CONFIG_NETFILTER_XT_MATCH_QUOTA=m  CONFIG_NETFILTER_XT_MATCH_RATEEST=m  CONFIG_NETFILTER_XT_MATCH_REALM=m  CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_SOCKET=m  CONFIG_NETFILTER_XT_MATCH_STATE=m  CONFIG_NETFILTER_XT_MATCH_STATISTIC=m  CONFIG_NETFILTER_XT_MATCH_STRING=m @@ -139,14 +157,20 @@ CONFIG_IP_SET_BITMAP_IP=m  CONFIG_IP_SET_BITMAP_IPMAC=m  CONFIG_IP_SET_BITMAP_PORT=m  CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPMARK=m  CONFIG_IP_SET_HASH_IPPORT=m  CONFIG_IP_SET_HASH_IPPORTIP=m  CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_NETPORTNET=m  CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETNET=m  CONFIG_IP_SET_HASH_NETPORT=m  CONFIG_IP_SET_HASH_NETIFACE=m  CONFIG_IP_SET_LIST_SET=m  CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NFT_CHAIN_ROUTE_IPV4=m +CONFIG_NFT_CHAIN_NAT_IPV4=m +CONFIG_NF_TABLES_ARP=m  CONFIG_IP_NF_IPTABLES=m  CONFIG_IP_NF_MATCH_AH=m  CONFIG_IP_NF_MATCH_ECN=m @@ -154,6 +178,7 @@ CONFIG_IP_NF_MATCH_RPFILTER=m  CONFIG_IP_NF_MATCH_TTL=m  CONFIG_IP_NF_FILTER=m  CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_SYNPROXY=m  CONFIG_IP_NF_TARGET_ULOG=m  CONFIG_NF_NAT_IPV4=m  CONFIG_IP_NF_TARGET_MASQUERADE=m @@ -168,6 +193,8 @@ CONFIG_IP_NF_ARPTABLES=m  CONFIG_IP_NF_ARPFILTER=m  CONFIG_IP_NF_ARP_MANGLE=m  CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_NFT_CHAIN_ROUTE_IPV6=m +CONFIG_NFT_CHAIN_NAT_IPV6=m  CONFIG_IP6_NF_IPTABLES=m  CONFIG_IP6_NF_MATCH_AH=m  CONFIG_IP6_NF_MATCH_EUI64=m @@ -181,11 +208,13 @@ CONFIG_IP6_NF_MATCH_RT=m  CONFIG_IP6_NF_TARGET_HL=m  CONFIG_IP6_NF_FILTER=m  CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_TARGET_SYNPROXY=m  CONFIG_IP6_NF_MANGLE=m  CONFIG_IP6_NF_RAW=m  CONFIG_NF_NAT_IPV6=m  CONFIG_IP6_NF_TARGET_MASQUERADE=m  CONFIG_IP6_NF_TARGET_NPT=m +CONFIG_NF_TABLES_BRIDGE=m  CONFIG_IP_DCCP=m  # CONFIG_IP_DCCP_CCID3 is not set  CONFIG_SCTP_COOKIE_HMAC_SHA1=y @@ -193,10 +222,14 @@ CONFIG_RDS=m  CONFIG_RDS_TCP=m  CONFIG_L2TP=m  CONFIG_ATALK=m +CONFIG_DNS_RESOLVER=y  CONFIG_BATMAN_ADV=m  CONFIG_BATMAN_ADV_DAT=y +CONFIG_BATMAN_ADV_NC=y +CONFIG_BATMAN_ADV_MCAST=y +CONFIG_NETLINK_DIAG=m +CONFIG_NET_MPLS_GSO=m  # CONFIG_WIRELESS is not set -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"  CONFIG_DEVTMPFS=y  # CONFIG_FIRMWARE_IN_KERNEL is not set  # CONFIG_FW_LOADER_USER_HELPER is not set @@ -208,6 +241,7 @@ CONFIG_BLK_DEV_NBD=m  CONFIG_BLK_DEV_RAM=y  CONFIG_CDROM_PKTCDVD=m  CONFIG_ATA_OVER_ETH=m +CONFIG_DUMMY_IRQ=m  CONFIG_RAID_ATTRS=m  CONFIG_SCSI=y  CONFIG_SCSI_TGT=m @@ -229,6 +263,7 @@ CONFIG_DM_CRYPT=m  CONFIG_DM_SNAPSHOT=m  CONFIG_DM_THIN_PROVISIONING=m  CONFIG_DM_CACHE=m +CONFIG_DM_ERA=m  CONFIG_DM_MIRROR=m  CONFIG_DM_RAID=m  CONFIG_DM_ZERO=m @@ -244,6 +279,7 @@ CONFIG_EQUALIZER=m  CONFIG_NET_TEAM=m  CONFIG_NET_TEAM_MODE_BROADCAST=m  CONFIG_NET_TEAM_MODE_ROUNDROBIN=m +CONFIG_NET_TEAM_MODE_RANDOM=m  CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m  CONFIG_NET_TEAM_MODE_LOADBALANCE=m  CONFIG_VXLAN=m @@ -251,14 +287,16 @@ CONFIG_NETCONSOLE=m  CONFIG_NETCONSOLE_DYNAMIC=y  CONFIG_VETH=m  CONFIG_HPLANCE=y -# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_ARC is not set  # CONFIG_NET_VENDOR_BROADCOM is not set  # CONFIG_NET_VENDOR_INTEL is not set  # CONFIG_NET_VENDOR_MARVELL is not set  # CONFIG_NET_VENDOR_MICREL is not set  # CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_SAMSUNG is not set  # CONFIG_NET_VENDOR_SEEQ is not set  # CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_NET_VENDOR_VIA is not set  # CONFIG_NET_VENDOR_WIZNET is not set  CONFIG_PPP=m  CONFIG_PPP_BSDCOMP=m @@ -282,7 +320,6 @@ CONFIG_MOUSE_SERIAL=m  CONFIG_INPUT_MISC=y  CONFIG_HP_SDC_RTC=m  CONFIG_SERIO_SERPORT=m -CONFIG_VT_HW_CONSOLE_BINDING=y  # CONFIG_LEGACY_PTYS is not set  # CONFIG_DEVKMEM is not set  # CONFIG_HW_RANDOM is not set @@ -304,10 +341,6 @@ CONFIG_RTC_CLASS=y  CONFIG_RTC_DRV_GENERIC=m  # CONFIG_IOMMU_SUPPORT is not set  CONFIG_PROC_HARDWARE=y -CONFIG_EXT2_FS=y -CONFIG_EXT3_FS=y -# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set -# CONFIG_EXT3_FS_XATTR is not set  CONFIG_EXT4_FS=y  CONFIG_REISERFS_FS=m  CONFIG_JFS_FS=m @@ -344,7 +377,7 @@ CONFIG_QNX6FS_FS=m  CONFIG_SYSV_FS=m  CONFIG_UFS_FS=m  CONFIG_NFS_FS=y -CONFIG_NFS_V4=y +CONFIG_NFS_V4=m  CONFIG_NFS_SWAP=y  CONFIG_ROOT_NFS=y  CONFIG_NFSD=m @@ -403,10 +436,10 @@ CONFIG_NLS_MAC_TURKISH=m  CONFIG_DLM=m  CONFIG_MAGIC_SYSRQ=y  CONFIG_ASYNC_RAID6_TEST=m +CONFIG_TEST_STRING_HELPERS=m  CONFIG_ENCRYPTED_KEYS=m  CONFIG_CRYPTO_MANAGER=y  CONFIG_CRYPTO_USER=m -CONFIG_CRYPTO_NULL=m  CONFIG_CRYPTO_CRYPTD=m  CONFIG_CRYPTO_TEST=m  CONFIG_CRYPTO_CCM=m @@ -439,11 +472,12 @@ CONFIG_CRYPTO_TEA=m  CONFIG_CRYPTO_TWOFISH=m  CONFIG_CRYPTO_ZLIB=m  CONFIG_CRYPTO_LZO=m +CONFIG_CRYPTO_LZ4=m +CONFIG_CRYPTO_LZ4HC=m  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_USER_API_HASH=m  CONFIG_CRYPTO_USER_API_SKCIPHER=m  # CONFIG_CRYPTO_HW is not set -CONFIG_CRC_T10DIF=y  CONFIG_XZ_DEC_X86=y  CONFIG_XZ_DEC_POWERPC=y  CONFIG_XZ_DEC_IA64=y diff --git a/arch/m68k/configs/m5208evb_defconfig b/arch/m68k/configs/m5208evb_defconfig index c1616824e20..e7292f460af 100644 --- a/arch/m68k/configs/m5208evb_defconfig +++ b/arch/m68k/configs/m5208evb_defconfig @@ -40,7 +40,6 @@ CONFIG_INET=y  # CONFIG_IPV6 is not set  # CONFIG_FW_LOADER is not set  CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y  CONFIG_MTD_CHAR=y  CONFIG_MTD_BLOCK=y  CONFIG_MTD_RAM=y diff --git a/arch/m68k/configs/m5249evb_defconfig b/arch/m68k/configs/m5249evb_defconfig index a6599e42fac..0cd4b39f325 100644 --- a/arch/m68k/configs/m5249evb_defconfig +++ b/arch/m68k/configs/m5249evb_defconfig @@ -38,7 +38,6 @@ CONFIG_INET=y  # CONFIG_IPV6 is not set  # CONFIG_FW_LOADER is not set  CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y  CONFIG_MTD_CHAR=y  CONFIG_MTD_BLOCK=y  CONFIG_MTD_RAM=y diff --git a/arch/m68k/configs/m5272c3_defconfig b/arch/m68k/configs/m5272c3_defconfig index 3fa60a57a0f..a60cb350913 100644 --- a/arch/m68k/configs/m5272c3_defconfig +++ b/arch/m68k/configs/m5272c3_defconfig @@ -36,7 +36,6 @@ CONFIG_INET=y  # CONFIG_IPV6 is not set  # CONFIG_FW_LOADER is not set  CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y  CONFIG_MTD_CHAR=y  CONFIG_MTD_BLOCK=y  CONFIG_MTD_RAM=y diff --git a/arch/m68k/configs/m5275evb_defconfig b/arch/m68k/configs/m5275evb_defconfig index a1230e82bb1..e6502ab7cb2 100644 --- a/arch/m68k/configs/m5275evb_defconfig +++ b/arch/m68k/configs/m5275evb_defconfig @@ -39,7 +39,6 @@ CONFIG_INET=y  # CONFIG_IPV6 is not set  # CONFIG_FW_LOADER is not set  CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y  CONFIG_MTD_CHAR=y  CONFIG_MTD_BLOCK=y  CONFIG_MTD_RAM=y diff --git a/arch/m68k/configs/m5307c3_defconfig b/arch/m68k/configs/m5307c3_defconfig index 43795f41f7c..023812abd2e 100644 --- a/arch/m68k/configs/m5307c3_defconfig +++ b/arch/m68k/configs/m5307c3_defconfig @@ -38,7 +38,6 @@ CONFIG_INET=y  # CONFIG_IPV6 is not set  # CONFIG_FW_LOADER is not set  CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y  CONFIG_MTD_CHAR=y  CONFIG_MTD_BLOCK=y  CONFIG_MTD_RAM=y diff --git a/arch/m68k/configs/m5407c3_defconfig b/arch/m68k/configs/m5407c3_defconfig index 72746c57a57..557b39f3be9 100644 --- a/arch/m68k/configs/m5407c3_defconfig +++ b/arch/m68k/configs/m5407c3_defconfig @@ -38,7 +38,6 @@ CONFIG_INET=y  # CONFIG_IPV6 is not set  # CONFIG_FW_LOADER is not set  CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y  CONFIG_MTD_CHAR=y  CONFIG_MTD_BLOCK=y  CONFIG_MTD_RAM=y diff --git a/arch/m68k/configs/mac_defconfig b/arch/m68k/configs/mac_defconfig index 7d46fbec704..66f915574a8 100644 --- a/arch/m68k/configs/mac_defconfig +++ b/arch/m68k/configs/mac_defconfig @@ -24,6 +24,8 @@ CONFIG_SUN_PARTITION=y  # CONFIG_EFI_PARTITION is not set  CONFIG_SYSV68_PARTITION=y  CONFIG_IOSCHED_DEADLINE=m +CONFIG_KEXEC=y +CONFIG_BOOTINFO_PROC=y  CONFIG_M68020=y  CONFIG_M68030=y  CONFIG_M68040=y @@ -49,7 +51,6 @@ CONFIG_IP_PNP_RARP=y  CONFIG_NET_IPIP=m  CONFIG_NET_IPGRE_DEMUX=m  CONFIG_NET_IPGRE=m -CONFIG_SYN_COOKIES=y  CONFIG_NET_IPVTI=m  CONFIG_INET_AH=m  CONFIG_INET_ESP=m @@ -60,11 +61,11 @@ CONFIG_INET_XFRM_MODE_BEET=m  # CONFIG_INET_LRO is not set  CONFIG_INET_DIAG=m  CONFIG_INET_UDP_DIAG=m -CONFIG_IPV6_PRIVACY=y  CONFIG_IPV6_ROUTER_PREF=y  CONFIG_INET6_AH=m  CONFIG_INET6_ESP=m  CONFIG_INET6_IPCOMP=m +CONFIG_IPV6_VTI=m  CONFIG_IPV6_GRE=m  CONFIG_NETFILTER=y  CONFIG_NF_CONNTRACK=m @@ -82,6 +83,20 @@ CONFIG_NF_CONNTRACK_PPTP=m  CONFIG_NF_CONNTRACK_SANE=m  CONFIG_NF_CONNTRACK_SIP=m  CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_TABLES=m +CONFIG_NF_TABLES_INET=m +CONFIG_NFT_EXTHDR=m +CONFIG_NFT_META=m +CONFIG_NFT_CT=m +CONFIG_NFT_RBTREE=m +CONFIG_NFT_HASH=m +CONFIG_NFT_COUNTER=m +CONFIG_NFT_LOG=m +CONFIG_NFT_LIMIT=m +CONFIG_NFT_NAT=m +CONFIG_NFT_QUEUE=m +CONFIG_NFT_REJECT=m +CONFIG_NFT_COMPAT=m  CONFIG_NETFILTER_XT_SET=m  CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m  CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m @@ -95,6 +110,7 @@ CONFIG_NETFILTER_XT_TARGET_NFLOG=m  CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m  CONFIG_NETFILTER_XT_TARGET_NOTRACK=m  CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m  CONFIG_NETFILTER_XT_TARGET_TRACE=m  CONFIG_NETFILTER_XT_TARGET_TCPMSS=m  CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m @@ -112,6 +128,7 @@ CONFIG_NETFILTER_XT_MATCH_DSCP=m  CONFIG_NETFILTER_XT_MATCH_ESP=m  CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m  CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_IPCOMP=m  CONFIG_NETFILTER_XT_MATCH_IPRANGE=m  CONFIG_NETFILTER_XT_MATCH_LENGTH=m  CONFIG_NETFILTER_XT_MATCH_LIMIT=m @@ -127,6 +144,7 @@ CONFIG_NETFILTER_XT_MATCH_QUOTA=m  CONFIG_NETFILTER_XT_MATCH_RATEEST=m  CONFIG_NETFILTER_XT_MATCH_REALM=m  CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_SOCKET=m  CONFIG_NETFILTER_XT_MATCH_STATE=m  CONFIG_NETFILTER_XT_MATCH_STATISTIC=m  CONFIG_NETFILTER_XT_MATCH_STRING=m @@ -138,14 +156,20 @@ CONFIG_IP_SET_BITMAP_IP=m  CONFIG_IP_SET_BITMAP_IPMAC=m  CONFIG_IP_SET_BITMAP_PORT=m  CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPMARK=m  CONFIG_IP_SET_HASH_IPPORT=m  CONFIG_IP_SET_HASH_IPPORTIP=m  CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_NETPORTNET=m  CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETNET=m  CONFIG_IP_SET_HASH_NETPORT=m  CONFIG_IP_SET_HASH_NETIFACE=m  CONFIG_IP_SET_LIST_SET=m  CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NFT_CHAIN_ROUTE_IPV4=m +CONFIG_NFT_CHAIN_NAT_IPV4=m +CONFIG_NF_TABLES_ARP=m  CONFIG_IP_NF_IPTABLES=m  CONFIG_IP_NF_MATCH_AH=m  CONFIG_IP_NF_MATCH_ECN=m @@ -153,6 +177,7 @@ CONFIG_IP_NF_MATCH_RPFILTER=m  CONFIG_IP_NF_MATCH_TTL=m  CONFIG_IP_NF_FILTER=m  CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_SYNPROXY=m  CONFIG_IP_NF_TARGET_ULOG=m  CONFIG_NF_NAT_IPV4=m  CONFIG_IP_NF_TARGET_MASQUERADE=m @@ -167,6 +192,8 @@ CONFIG_IP_NF_ARPTABLES=m  CONFIG_IP_NF_ARPFILTER=m  CONFIG_IP_NF_ARP_MANGLE=m  CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_NFT_CHAIN_ROUTE_IPV6=m +CONFIG_NFT_CHAIN_NAT_IPV6=m  CONFIG_IP6_NF_IPTABLES=m  CONFIG_IP6_NF_MATCH_AH=m  CONFIG_IP6_NF_MATCH_EUI64=m @@ -180,11 +207,13 @@ CONFIG_IP6_NF_MATCH_RT=m  CONFIG_IP6_NF_TARGET_HL=m  CONFIG_IP6_NF_FILTER=m  CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_TARGET_SYNPROXY=m  CONFIG_IP6_NF_MANGLE=m  CONFIG_IP6_NF_RAW=m  CONFIG_NF_NAT_IPV6=m  CONFIG_IP6_NF_TARGET_MASQUERADE=m  CONFIG_IP6_NF_TARGET_NPT=m +CONFIG_NF_TABLES_BRIDGE=m  CONFIG_IP_DCCP=m  # CONFIG_IP_DCCP_CCID3 is not set  CONFIG_SCTP_COOKIE_HMAC_SHA1=y @@ -195,11 +224,14 @@ CONFIG_ATALK=m  CONFIG_DEV_APPLETALK=m  CONFIG_IPDDP=m  CONFIG_IPDDP_ENCAP=y -CONFIG_IPDDP_DECAP=y +CONFIG_DNS_RESOLVER=y  CONFIG_BATMAN_ADV=m  CONFIG_BATMAN_ADV_DAT=y +CONFIG_BATMAN_ADV_NC=y +CONFIG_BATMAN_ADV_MCAST=y +CONFIG_NETLINK_DIAG=m +CONFIG_NET_MPLS_GSO=m  # CONFIG_WIRELESS is not set -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"  CONFIG_DEVTMPFS=y  # CONFIG_FIRMWARE_IN_KERNEL is not set  # CONFIG_FW_LOADER_USER_HELPER is not set @@ -212,6 +244,7 @@ CONFIG_BLK_DEV_NBD=m  CONFIG_BLK_DEV_RAM=y  CONFIG_CDROM_PKTCDVD=m  CONFIG_ATA_OVER_ETH=m +CONFIG_DUMMY_IRQ=m  CONFIG_IDE=y  CONFIG_IDE_GD_ATAPI=y  CONFIG_BLK_DEV_IDECD=y @@ -239,6 +272,7 @@ CONFIG_DM_CRYPT=m  CONFIG_DM_SNAPSHOT=m  CONFIG_DM_THIN_PROVISIONING=m  CONFIG_DM_CACHE=m +CONFIG_DM_ERA=m  CONFIG_DM_MIRROR=m  CONFIG_DM_RAID=m  CONFIG_DM_ZERO=m @@ -261,6 +295,7 @@ CONFIG_EQUALIZER=m  CONFIG_NET_TEAM=m  CONFIG_NET_TEAM_MODE_BROADCAST=m  CONFIG_NET_TEAM_MODE_ROUNDROBIN=m +CONFIG_NET_TEAM_MODE_RANDOM=m  CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m  CONFIG_NET_TEAM_MODE_LOADBALANCE=m  CONFIG_VXLAN=m @@ -268,7 +303,7 @@ CONFIG_NETCONSOLE=m  CONFIG_NETCONSOLE_DYNAMIC=y  CONFIG_VETH=m  CONFIG_MACMACE=y -# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_ARC is not set  # CONFIG_NET_VENDOR_BROADCOM is not set  CONFIG_MAC89x0=y  # CONFIG_NET_VENDOR_INTEL is not set @@ -276,9 +311,11 @@ CONFIG_MAC89x0=y  # CONFIG_NET_VENDOR_MICREL is not set  CONFIG_MACSONIC=y  CONFIG_MAC8390=y +# CONFIG_NET_VENDOR_SAMSUNG is not set  # CONFIG_NET_VENDOR_SEEQ is not set  # CONFIG_NET_VENDOR_SMSC is not set  # CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_NET_VENDOR_VIA is not set  # CONFIG_NET_VENDOR_WIZNET is not set  CONFIG_PPP=m  CONFIG_PPP_BSDCOMP=m @@ -302,7 +339,6 @@ CONFIG_MOUSE_SERIAL=m  CONFIG_INPUT_MISC=y  CONFIG_INPUT_M68K_BEEP=m  CONFIG_SERIO=m -CONFIG_VT_HW_CONSOLE_BINDING=y  # CONFIG_LEGACY_PTYS is not set  # CONFIG_DEVKMEM is not set  CONFIG_SERIAL_PMACZILOG=y @@ -327,10 +363,6 @@ CONFIG_RTC_CLASS=y  CONFIG_RTC_DRV_GENERIC=m  # CONFIG_IOMMU_SUPPORT is not set  CONFIG_PROC_HARDWARE=y -CONFIG_EXT2_FS=y -CONFIG_EXT3_FS=y -# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set -# CONFIG_EXT3_FS_XATTR is not set  CONFIG_EXT4_FS=y  CONFIG_REISERFS_FS=m  CONFIG_JFS_FS=m @@ -367,7 +399,7 @@ CONFIG_QNX6FS_FS=m  CONFIG_SYSV_FS=m  CONFIG_UFS_FS=m  CONFIG_NFS_FS=y -CONFIG_NFS_V4=y +CONFIG_NFS_V4=m  CONFIG_NFS_SWAP=y  CONFIG_ROOT_NFS=y  CONFIG_NFSD=m @@ -426,10 +458,11 @@ CONFIG_NLS_MAC_TURKISH=m  CONFIG_DLM=m  CONFIG_MAGIC_SYSRQ=y  CONFIG_ASYNC_RAID6_TEST=m +CONFIG_TEST_STRING_HELPERS=m +CONFIG_EARLY_PRINTK=y  CONFIG_ENCRYPTED_KEYS=m  CONFIG_CRYPTO_MANAGER=y  CONFIG_CRYPTO_USER=m -CONFIG_CRYPTO_NULL=m  CONFIG_CRYPTO_CRYPTD=m  CONFIG_CRYPTO_TEST=m  CONFIG_CRYPTO_CCM=m @@ -462,11 +495,12 @@ CONFIG_CRYPTO_TEA=m  CONFIG_CRYPTO_TWOFISH=m  CONFIG_CRYPTO_ZLIB=m  CONFIG_CRYPTO_LZO=m +CONFIG_CRYPTO_LZ4=m +CONFIG_CRYPTO_LZ4HC=m  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_USER_API_HASH=m  CONFIG_CRYPTO_USER_API_SKCIPHER=m  # CONFIG_CRYPTO_HW is not set -CONFIG_CRC_T10DIF=y  CONFIG_XZ_DEC_X86=y  CONFIG_XZ_DEC_POWERPC=y  CONFIG_XZ_DEC_IA64=y diff --git a/arch/m68k/configs/multi_defconfig b/arch/m68k/configs/multi_defconfig index b17a8837f0e..5eaa49924fa 100644 --- a/arch/m68k/configs/multi_defconfig +++ b/arch/m68k/configs/multi_defconfig @@ -20,6 +20,8 @@ CONFIG_SOLARIS_X86_PARTITION=y  CONFIG_UNIXWARE_DISKLABEL=y  # CONFIG_EFI_PARTITION is not set  CONFIG_IOSCHED_DEADLINE=m +CONFIG_KEXEC=y +CONFIG_BOOTINFO_PROC=y  CONFIG_M68020=y  CONFIG_M68040=y  CONFIG_M68060=y @@ -58,7 +60,6 @@ CONFIG_IP_PNP_RARP=y  CONFIG_NET_IPIP=m  CONFIG_NET_IPGRE_DEMUX=m  CONFIG_NET_IPGRE=m -CONFIG_SYN_COOKIES=y  CONFIG_NET_IPVTI=m  CONFIG_INET_AH=m  CONFIG_INET_ESP=m @@ -69,11 +70,11 @@ CONFIG_INET_XFRM_MODE_BEET=m  # CONFIG_INET_LRO is not set  CONFIG_INET_DIAG=m  CONFIG_INET_UDP_DIAG=m -CONFIG_IPV6_PRIVACY=y  CONFIG_IPV6_ROUTER_PREF=y  CONFIG_INET6_AH=m  CONFIG_INET6_ESP=m  CONFIG_INET6_IPCOMP=m +CONFIG_IPV6_VTI=m  CONFIG_IPV6_GRE=m  CONFIG_NETFILTER=y  CONFIG_NF_CONNTRACK=m @@ -91,6 +92,20 @@ CONFIG_NF_CONNTRACK_PPTP=m  CONFIG_NF_CONNTRACK_SANE=m  CONFIG_NF_CONNTRACK_SIP=m  CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_TABLES=m +CONFIG_NF_TABLES_INET=m +CONFIG_NFT_EXTHDR=m +CONFIG_NFT_META=m +CONFIG_NFT_CT=m +CONFIG_NFT_RBTREE=m +CONFIG_NFT_HASH=m +CONFIG_NFT_COUNTER=m +CONFIG_NFT_LOG=m +CONFIG_NFT_LIMIT=m +CONFIG_NFT_NAT=m +CONFIG_NFT_QUEUE=m +CONFIG_NFT_REJECT=m +CONFIG_NFT_COMPAT=m  CONFIG_NETFILTER_XT_SET=m  CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m  CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m @@ -104,6 +119,7 @@ CONFIG_NETFILTER_XT_TARGET_NFLOG=m  CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m  CONFIG_NETFILTER_XT_TARGET_NOTRACK=m  CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m  CONFIG_NETFILTER_XT_TARGET_TRACE=m  CONFIG_NETFILTER_XT_TARGET_TCPMSS=m  CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m @@ -121,6 +137,7 @@ CONFIG_NETFILTER_XT_MATCH_DSCP=m  CONFIG_NETFILTER_XT_MATCH_ESP=m  CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m  CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_IPCOMP=m  CONFIG_NETFILTER_XT_MATCH_IPRANGE=m  CONFIG_NETFILTER_XT_MATCH_LENGTH=m  CONFIG_NETFILTER_XT_MATCH_LIMIT=m @@ -136,6 +153,7 @@ CONFIG_NETFILTER_XT_MATCH_QUOTA=m  CONFIG_NETFILTER_XT_MATCH_RATEEST=m  CONFIG_NETFILTER_XT_MATCH_REALM=m  CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_SOCKET=m  CONFIG_NETFILTER_XT_MATCH_STATE=m  CONFIG_NETFILTER_XT_MATCH_STATISTIC=m  CONFIG_NETFILTER_XT_MATCH_STRING=m @@ -147,14 +165,20 @@ CONFIG_IP_SET_BITMAP_IP=m  CONFIG_IP_SET_BITMAP_IPMAC=m  CONFIG_IP_SET_BITMAP_PORT=m  CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPMARK=m  CONFIG_IP_SET_HASH_IPPORT=m  CONFIG_IP_SET_HASH_IPPORTIP=m  CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_NETPORTNET=m  CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETNET=m  CONFIG_IP_SET_HASH_NETPORT=m  CONFIG_IP_SET_HASH_NETIFACE=m  CONFIG_IP_SET_LIST_SET=m  CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NFT_CHAIN_ROUTE_IPV4=m +CONFIG_NFT_CHAIN_NAT_IPV4=m +CONFIG_NF_TABLES_ARP=m  CONFIG_IP_NF_IPTABLES=m  CONFIG_IP_NF_MATCH_AH=m  CONFIG_IP_NF_MATCH_ECN=m @@ -162,6 +186,7 @@ CONFIG_IP_NF_MATCH_RPFILTER=m  CONFIG_IP_NF_MATCH_TTL=m  CONFIG_IP_NF_FILTER=m  CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_SYNPROXY=m  CONFIG_IP_NF_TARGET_ULOG=m  CONFIG_NF_NAT_IPV4=m  CONFIG_IP_NF_TARGET_MASQUERADE=m @@ -176,6 +201,8 @@ CONFIG_IP_NF_ARPTABLES=m  CONFIG_IP_NF_ARPFILTER=m  CONFIG_IP_NF_ARP_MANGLE=m  CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_NFT_CHAIN_ROUTE_IPV6=m +CONFIG_NFT_CHAIN_NAT_IPV6=m  CONFIG_IP6_NF_IPTABLES=m  CONFIG_IP6_NF_MATCH_AH=m  CONFIG_IP6_NF_MATCH_EUI64=m @@ -189,11 +216,13 @@ CONFIG_IP6_NF_MATCH_RT=m  CONFIG_IP6_NF_TARGET_HL=m  CONFIG_IP6_NF_FILTER=m  CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_TARGET_SYNPROXY=m  CONFIG_IP6_NF_MANGLE=m  CONFIG_IP6_NF_RAW=m  CONFIG_NF_NAT_IPV6=m  CONFIG_IP6_NF_TARGET_MASQUERADE=m  CONFIG_IP6_NF_TARGET_NPT=m +CONFIG_NF_TABLES_BRIDGE=m  CONFIG_IP_DCCP=m  # CONFIG_IP_DCCP_CCID3 is not set  CONFIG_SCTP_COOKIE_HMAC_SHA1=y @@ -204,11 +233,14 @@ CONFIG_ATALK=m  CONFIG_DEV_APPLETALK=m  CONFIG_IPDDP=m  CONFIG_IPDDP_ENCAP=y -CONFIG_IPDDP_DECAP=y +CONFIG_DNS_RESOLVER=y  CONFIG_BATMAN_ADV=m  CONFIG_BATMAN_ADV_DAT=y +CONFIG_BATMAN_ADV_NC=y +CONFIG_BATMAN_ADV_MCAST=y +CONFIG_NETLINK_DIAG=m +CONFIG_NET_MPLS_GSO=m  # CONFIG_WIRELESS is not set -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"  CONFIG_DEVTMPFS=y  # CONFIG_FIRMWARE_IN_KERNEL is not set  # CONFIG_FW_LOADER_USER_HELPER is not set @@ -230,6 +262,7 @@ CONFIG_BLK_DEV_NBD=m  CONFIG_BLK_DEV_RAM=y  CONFIG_CDROM_PKTCDVD=m  CONFIG_ATA_OVER_ETH=m +CONFIG_DUMMY_IRQ=m  CONFIG_IDE=y  CONFIG_IDE_GD_ATAPI=y  CONFIG_BLK_DEV_IDECD=y @@ -271,6 +304,7 @@ CONFIG_DM_CRYPT=m  CONFIG_DM_SNAPSHOT=m  CONFIG_DM_THIN_PROVISIONING=m  CONFIG_DM_CACHE=m +CONFIG_DM_ERA=m  CONFIG_DM_MIRROR=m  CONFIG_DM_RAID=m  CONFIG_DM_ZERO=m @@ -290,10 +324,10 @@ CONFIG_MAC_EMUMOUSEBTN=y  CONFIG_NETDEVICES=y  CONFIG_DUMMY=m  CONFIG_EQUALIZER=m -CONFIG_MII=y  CONFIG_NET_TEAM=m  CONFIG_NET_TEAM_MODE_BROADCAST=m  CONFIG_NET_TEAM_MODE_ROUNDROBIN=m +CONFIG_NET_TEAM_MODE_RANDOM=m  CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m  CONFIG_NET_TEAM_MODE_LOADBALANCE=m  CONFIG_VXLAN=m @@ -308,10 +342,9 @@ CONFIG_HPLANCE=y  CONFIG_MVME147_NET=y  CONFIG_SUN3LANCE=y  CONFIG_MACMACE=y -# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_ARC is not set  # CONFIG_NET_VENDOR_BROADCOM is not set  CONFIG_MAC89x0=y -# CONFIG_NET_VENDOR_FUJITSU is not set  # CONFIG_NET_VENDOR_HP is not set  CONFIG_BVME6000_NET=y  CONFIG_MVME16x_NET=y @@ -323,8 +356,10 @@ CONFIG_MAC8390=y  CONFIG_NE2000=m  CONFIG_APNE=y  CONFIG_ZORRO8390=y +# CONFIG_NET_VENDOR_SAMSUNG is not set  # CONFIG_NET_VENDOR_SEEQ is not set  # CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_NET_VENDOR_VIA is not set  # CONFIG_NET_VENDOR_WIZNET is not set  CONFIG_PLIP=m  CONFIG_PPP=m @@ -357,7 +392,6 @@ CONFIG_INPUT_MISC=y  CONFIG_INPUT_M68K_BEEP=m  CONFIG_HP_SDC_RTC=m  CONFIG_SERIO_Q40KBD=y -CONFIG_VT_HW_CONSOLE_BINDING=y  # CONFIG_LEGACY_PTYS is not set  # CONFIG_DEVKMEM is not set  CONFIG_SERIAL_PMACZILOG=y @@ -405,10 +439,6 @@ CONFIG_NFETH=y  CONFIG_ATARI_DSP56K=m  CONFIG_AMIGA_BUILTIN_SERIAL=y  CONFIG_SERIAL_CONSOLE=y -CONFIG_EXT2_FS=y -CONFIG_EXT3_FS=y -# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set -# CONFIG_EXT3_FS_XATTR is not set  CONFIG_EXT4_FS=y  CONFIG_REISERFS_FS=m  CONFIG_JFS_FS=m @@ -445,7 +475,7 @@ CONFIG_QNX6FS_FS=m  CONFIG_SYSV_FS=m  CONFIG_UFS_FS=m  CONFIG_NFS_FS=y -CONFIG_NFS_V4=y +CONFIG_NFS_V4=m  CONFIG_NFS_SWAP=y  CONFIG_ROOT_NFS=y  CONFIG_NFSD=m @@ -504,10 +534,11 @@ CONFIG_NLS_MAC_TURKISH=m  CONFIG_DLM=m  CONFIG_MAGIC_SYSRQ=y  CONFIG_ASYNC_RAID6_TEST=m +CONFIG_TEST_STRING_HELPERS=m +CONFIG_EARLY_PRINTK=y  CONFIG_ENCRYPTED_KEYS=m  CONFIG_CRYPTO_MANAGER=y  CONFIG_CRYPTO_USER=m -CONFIG_CRYPTO_NULL=m  CONFIG_CRYPTO_CRYPTD=m  CONFIG_CRYPTO_TEST=m  CONFIG_CRYPTO_CCM=m @@ -540,11 +571,12 @@ CONFIG_CRYPTO_TEA=m  CONFIG_CRYPTO_TWOFISH=m  CONFIG_CRYPTO_ZLIB=m  CONFIG_CRYPTO_LZO=m +CONFIG_CRYPTO_LZ4=m +CONFIG_CRYPTO_LZ4HC=m  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_USER_API_HASH=m  CONFIG_CRYPTO_USER_API_SKCIPHER=m  # CONFIG_CRYPTO_HW is not set -CONFIG_CRC_T10DIF=y  CONFIG_XZ_DEC_X86=y  CONFIG_XZ_DEC_POWERPC=y  CONFIG_XZ_DEC_IA64=y diff --git a/arch/m68k/configs/mvme147_defconfig b/arch/m68k/configs/mvme147_defconfig index 5586c6529fc..324d0b4d835 100644 --- a/arch/m68k/configs/mvme147_defconfig +++ b/arch/m68k/configs/mvme147_defconfig @@ -24,6 +24,8 @@ CONFIG_UNIXWARE_DISKLABEL=y  CONFIG_SUN_PARTITION=y  # CONFIG_EFI_PARTITION is not set  CONFIG_IOSCHED_DEADLINE=m +CONFIG_KEXEC=y +CONFIG_BOOTINFO_PROC=y  CONFIG_M68030=y  CONFIG_VME=y  CONFIG_MVME147=y @@ -47,7 +49,6 @@ CONFIG_IP_PNP_RARP=y  CONFIG_NET_IPIP=m  CONFIG_NET_IPGRE_DEMUX=m  CONFIG_NET_IPGRE=m -CONFIG_SYN_COOKIES=y  CONFIG_NET_IPVTI=m  CONFIG_INET_AH=m  CONFIG_INET_ESP=m @@ -58,11 +59,11 @@ CONFIG_INET_XFRM_MODE_BEET=m  # CONFIG_INET_LRO is not set  CONFIG_INET_DIAG=m  CONFIG_INET_UDP_DIAG=m -CONFIG_IPV6_PRIVACY=y  CONFIG_IPV6_ROUTER_PREF=y  CONFIG_INET6_AH=m  CONFIG_INET6_ESP=m  CONFIG_INET6_IPCOMP=m +CONFIG_IPV6_VTI=m  CONFIG_IPV6_GRE=m  CONFIG_NETFILTER=y  CONFIG_NF_CONNTRACK=m @@ -80,6 +81,20 @@ CONFIG_NF_CONNTRACK_PPTP=m  CONFIG_NF_CONNTRACK_SANE=m  CONFIG_NF_CONNTRACK_SIP=m  CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_TABLES=m +CONFIG_NF_TABLES_INET=m +CONFIG_NFT_EXTHDR=m +CONFIG_NFT_META=m +CONFIG_NFT_CT=m +CONFIG_NFT_RBTREE=m +CONFIG_NFT_HASH=m +CONFIG_NFT_COUNTER=m +CONFIG_NFT_LOG=m +CONFIG_NFT_LIMIT=m +CONFIG_NFT_NAT=m +CONFIG_NFT_QUEUE=m +CONFIG_NFT_REJECT=m +CONFIG_NFT_COMPAT=m  CONFIG_NETFILTER_XT_SET=m  CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m  CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m @@ -93,6 +108,7 @@ CONFIG_NETFILTER_XT_TARGET_NFLOG=m  CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m  CONFIG_NETFILTER_XT_TARGET_NOTRACK=m  CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m  CONFIG_NETFILTER_XT_TARGET_TRACE=m  CONFIG_NETFILTER_XT_TARGET_TCPMSS=m  CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m @@ -110,6 +126,7 @@ CONFIG_NETFILTER_XT_MATCH_DSCP=m  CONFIG_NETFILTER_XT_MATCH_ESP=m  CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m  CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_IPCOMP=m  CONFIG_NETFILTER_XT_MATCH_IPRANGE=m  CONFIG_NETFILTER_XT_MATCH_LENGTH=m  CONFIG_NETFILTER_XT_MATCH_LIMIT=m @@ -125,6 +142,7 @@ CONFIG_NETFILTER_XT_MATCH_QUOTA=m  CONFIG_NETFILTER_XT_MATCH_RATEEST=m  CONFIG_NETFILTER_XT_MATCH_REALM=m  CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_SOCKET=m  CONFIG_NETFILTER_XT_MATCH_STATE=m  CONFIG_NETFILTER_XT_MATCH_STATISTIC=m  CONFIG_NETFILTER_XT_MATCH_STRING=m @@ -136,14 +154,20 @@ CONFIG_IP_SET_BITMAP_IP=m  CONFIG_IP_SET_BITMAP_IPMAC=m  CONFIG_IP_SET_BITMAP_PORT=m  CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPMARK=m  CONFIG_IP_SET_HASH_IPPORT=m  CONFIG_IP_SET_HASH_IPPORTIP=m  CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_NETPORTNET=m  CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETNET=m  CONFIG_IP_SET_HASH_NETPORT=m  CONFIG_IP_SET_HASH_NETIFACE=m  CONFIG_IP_SET_LIST_SET=m  CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NFT_CHAIN_ROUTE_IPV4=m +CONFIG_NFT_CHAIN_NAT_IPV4=m +CONFIG_NF_TABLES_ARP=m  CONFIG_IP_NF_IPTABLES=m  CONFIG_IP_NF_MATCH_AH=m  CONFIG_IP_NF_MATCH_ECN=m @@ -151,6 +175,7 @@ CONFIG_IP_NF_MATCH_RPFILTER=m  CONFIG_IP_NF_MATCH_TTL=m  CONFIG_IP_NF_FILTER=m  CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_SYNPROXY=m  CONFIG_IP_NF_TARGET_ULOG=m  CONFIG_NF_NAT_IPV4=m  CONFIG_IP_NF_TARGET_MASQUERADE=m @@ -165,6 +190,8 @@ CONFIG_IP_NF_ARPTABLES=m  CONFIG_IP_NF_ARPFILTER=m  CONFIG_IP_NF_ARP_MANGLE=m  CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_NFT_CHAIN_ROUTE_IPV6=m +CONFIG_NFT_CHAIN_NAT_IPV6=m  CONFIG_IP6_NF_IPTABLES=m  CONFIG_IP6_NF_MATCH_AH=m  CONFIG_IP6_NF_MATCH_EUI64=m @@ -178,11 +205,13 @@ CONFIG_IP6_NF_MATCH_RT=m  CONFIG_IP6_NF_TARGET_HL=m  CONFIG_IP6_NF_FILTER=m  CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_TARGET_SYNPROXY=m  CONFIG_IP6_NF_MANGLE=m  CONFIG_IP6_NF_RAW=m  CONFIG_NF_NAT_IPV6=m  CONFIG_IP6_NF_TARGET_MASQUERADE=m  CONFIG_IP6_NF_TARGET_NPT=m +CONFIG_NF_TABLES_BRIDGE=m  CONFIG_IP_DCCP=m  # CONFIG_IP_DCCP_CCID3 is not set  CONFIG_SCTP_COOKIE_HMAC_SHA1=y @@ -190,10 +219,14 @@ CONFIG_RDS=m  CONFIG_RDS_TCP=m  CONFIG_L2TP=m  CONFIG_ATALK=m +CONFIG_DNS_RESOLVER=y  CONFIG_BATMAN_ADV=m  CONFIG_BATMAN_ADV_DAT=y +CONFIG_BATMAN_ADV_NC=y +CONFIG_BATMAN_ADV_MCAST=y +CONFIG_NETLINK_DIAG=m +CONFIG_NET_MPLS_GSO=m  # CONFIG_WIRELESS is not set -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"  CONFIG_DEVTMPFS=y  # CONFIG_FIRMWARE_IN_KERNEL is not set  # CONFIG_FW_LOADER_USER_HELPER is not set @@ -205,6 +238,7 @@ CONFIG_BLK_DEV_NBD=m  CONFIG_BLK_DEV_RAM=y  CONFIG_CDROM_PKTCDVD=m  CONFIG_ATA_OVER_ETH=m +CONFIG_DUMMY_IRQ=m  CONFIG_RAID_ATTRS=m  CONFIG_SCSI=y  CONFIG_SCSI_TGT=m @@ -227,6 +261,7 @@ CONFIG_DM_CRYPT=m  CONFIG_DM_SNAPSHOT=m  CONFIG_DM_THIN_PROVISIONING=m  CONFIG_DM_CACHE=m +CONFIG_DM_ERA=m  CONFIG_DM_MIRROR=m  CONFIG_DM_RAID=m  CONFIG_DM_ZERO=m @@ -242,6 +277,7 @@ CONFIG_EQUALIZER=m  CONFIG_NET_TEAM=m  CONFIG_NET_TEAM_MODE_BROADCAST=m  CONFIG_NET_TEAM_MODE_ROUNDROBIN=m +CONFIG_NET_TEAM_MODE_RANDOM=m  CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m  CONFIG_NET_TEAM_MODE_LOADBALANCE=m  CONFIG_VXLAN=m @@ -249,14 +285,16 @@ CONFIG_NETCONSOLE=m  CONFIG_NETCONSOLE_DYNAMIC=y  CONFIG_VETH=m  CONFIG_MVME147_NET=y -# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_ARC is not set  # CONFIG_NET_VENDOR_BROADCOM is not set  # CONFIG_NET_VENDOR_INTEL is not set  # CONFIG_NET_VENDOR_MARVELL is not set  # CONFIG_NET_VENDOR_MICREL is not set  # CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_SAMSUNG is not set  # CONFIG_NET_VENDOR_SEEQ is not set  # CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_NET_VENDOR_VIA is not set  # CONFIG_NET_VENDOR_WIZNET is not set  CONFIG_PPP=m  CONFIG_PPP_BSDCOMP=m @@ -294,10 +332,6 @@ CONFIG_RTC_CLASS=y  CONFIG_RTC_DRV_GENERIC=m  # CONFIG_IOMMU_SUPPORT is not set  CONFIG_PROC_HARDWARE=y -CONFIG_EXT2_FS=y -CONFIG_EXT3_FS=y -# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set -# CONFIG_EXT3_FS_XATTR is not set  CONFIG_EXT4_FS=y  CONFIG_REISERFS_FS=m  CONFIG_JFS_FS=m @@ -334,7 +368,7 @@ CONFIG_QNX6FS_FS=m  CONFIG_SYSV_FS=m  CONFIG_UFS_FS=m  CONFIG_NFS_FS=y -CONFIG_NFS_V4=y +CONFIG_NFS_V4=m  CONFIG_NFS_SWAP=y  CONFIG_ROOT_NFS=y  CONFIG_NFSD=m @@ -393,10 +427,10 @@ CONFIG_NLS_MAC_TURKISH=m  CONFIG_DLM=m  CONFIG_MAGIC_SYSRQ=y  CONFIG_ASYNC_RAID6_TEST=m +CONFIG_TEST_STRING_HELPERS=m  CONFIG_ENCRYPTED_KEYS=m  CONFIG_CRYPTO_MANAGER=y  CONFIG_CRYPTO_USER=m -CONFIG_CRYPTO_NULL=m  CONFIG_CRYPTO_CRYPTD=m  CONFIG_CRYPTO_TEST=m  CONFIG_CRYPTO_CCM=m @@ -429,11 +463,12 @@ CONFIG_CRYPTO_TEA=m  CONFIG_CRYPTO_TWOFISH=m  CONFIG_CRYPTO_ZLIB=m  CONFIG_CRYPTO_LZO=m +CONFIG_CRYPTO_LZ4=m +CONFIG_CRYPTO_LZ4HC=m  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_USER_API_HASH=m  CONFIG_CRYPTO_USER_API_SKCIPHER=m  # CONFIG_CRYPTO_HW is not set -CONFIG_CRC_T10DIF=y  CONFIG_XZ_DEC_X86=y  CONFIG_XZ_DEC_POWERPC=y  CONFIG_XZ_DEC_IA64=y diff --git a/arch/m68k/configs/mvme16x_defconfig b/arch/m68k/configs/mvme16x_defconfig index e5e8262bbac..f0cb4338952 100644 --- a/arch/m68k/configs/mvme16x_defconfig +++ b/arch/m68k/configs/mvme16x_defconfig @@ -24,6 +24,8 @@ CONFIG_UNIXWARE_DISKLABEL=y  CONFIG_SUN_PARTITION=y  # CONFIG_EFI_PARTITION is not set  CONFIG_IOSCHED_DEADLINE=m +CONFIG_KEXEC=y +CONFIG_BOOTINFO_PROC=y  CONFIG_M68040=y  CONFIG_M68060=y  CONFIG_VME=y @@ -48,7 +50,6 @@ CONFIG_IP_PNP_RARP=y  CONFIG_NET_IPIP=m  CONFIG_NET_IPGRE_DEMUX=m  CONFIG_NET_IPGRE=m -CONFIG_SYN_COOKIES=y  CONFIG_NET_IPVTI=m  CONFIG_INET_AH=m  CONFIG_INET_ESP=m @@ -59,11 +60,11 @@ CONFIG_INET_XFRM_MODE_BEET=m  # CONFIG_INET_LRO is not set  CONFIG_INET_DIAG=m  CONFIG_INET_UDP_DIAG=m -CONFIG_IPV6_PRIVACY=y  CONFIG_IPV6_ROUTER_PREF=y  CONFIG_INET6_AH=m  CONFIG_INET6_ESP=m  CONFIG_INET6_IPCOMP=m +CONFIG_IPV6_VTI=m  CONFIG_IPV6_GRE=m  CONFIG_NETFILTER=y  CONFIG_NF_CONNTRACK=m @@ -81,6 +82,20 @@ CONFIG_NF_CONNTRACK_PPTP=m  CONFIG_NF_CONNTRACK_SANE=m  CONFIG_NF_CONNTRACK_SIP=m  CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_TABLES=m +CONFIG_NF_TABLES_INET=m +CONFIG_NFT_EXTHDR=m +CONFIG_NFT_META=m +CONFIG_NFT_CT=m +CONFIG_NFT_RBTREE=m +CONFIG_NFT_HASH=m +CONFIG_NFT_COUNTER=m +CONFIG_NFT_LOG=m +CONFIG_NFT_LIMIT=m +CONFIG_NFT_NAT=m +CONFIG_NFT_QUEUE=m +CONFIG_NFT_REJECT=m +CONFIG_NFT_COMPAT=m  CONFIG_NETFILTER_XT_SET=m  CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m  CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m @@ -94,6 +109,7 @@ CONFIG_NETFILTER_XT_TARGET_NFLOG=m  CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m  CONFIG_NETFILTER_XT_TARGET_NOTRACK=m  CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m  CONFIG_NETFILTER_XT_TARGET_TRACE=m  CONFIG_NETFILTER_XT_TARGET_TCPMSS=m  CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m @@ -111,6 +127,7 @@ CONFIG_NETFILTER_XT_MATCH_DSCP=m  CONFIG_NETFILTER_XT_MATCH_ESP=m  CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m  CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_IPCOMP=m  CONFIG_NETFILTER_XT_MATCH_IPRANGE=m  CONFIG_NETFILTER_XT_MATCH_LENGTH=m  CONFIG_NETFILTER_XT_MATCH_LIMIT=m @@ -126,6 +143,7 @@ CONFIG_NETFILTER_XT_MATCH_QUOTA=m  CONFIG_NETFILTER_XT_MATCH_RATEEST=m  CONFIG_NETFILTER_XT_MATCH_REALM=m  CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_SOCKET=m  CONFIG_NETFILTER_XT_MATCH_STATE=m  CONFIG_NETFILTER_XT_MATCH_STATISTIC=m  CONFIG_NETFILTER_XT_MATCH_STRING=m @@ -137,14 +155,20 @@ CONFIG_IP_SET_BITMAP_IP=m  CONFIG_IP_SET_BITMAP_IPMAC=m  CONFIG_IP_SET_BITMAP_PORT=m  CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPMARK=m  CONFIG_IP_SET_HASH_IPPORT=m  CONFIG_IP_SET_HASH_IPPORTIP=m  CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_NETPORTNET=m  CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETNET=m  CONFIG_IP_SET_HASH_NETPORT=m  CONFIG_IP_SET_HASH_NETIFACE=m  CONFIG_IP_SET_LIST_SET=m  CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NFT_CHAIN_ROUTE_IPV4=m +CONFIG_NFT_CHAIN_NAT_IPV4=m +CONFIG_NF_TABLES_ARP=m  CONFIG_IP_NF_IPTABLES=m  CONFIG_IP_NF_MATCH_AH=m  CONFIG_IP_NF_MATCH_ECN=m @@ -152,6 +176,7 @@ CONFIG_IP_NF_MATCH_RPFILTER=m  CONFIG_IP_NF_MATCH_TTL=m  CONFIG_IP_NF_FILTER=m  CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_SYNPROXY=m  CONFIG_IP_NF_TARGET_ULOG=m  CONFIG_NF_NAT_IPV4=m  CONFIG_IP_NF_TARGET_MASQUERADE=m @@ -166,6 +191,8 @@ CONFIG_IP_NF_ARPTABLES=m  CONFIG_IP_NF_ARPFILTER=m  CONFIG_IP_NF_ARP_MANGLE=m  CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_NFT_CHAIN_ROUTE_IPV6=m +CONFIG_NFT_CHAIN_NAT_IPV6=m  CONFIG_IP6_NF_IPTABLES=m  CONFIG_IP6_NF_MATCH_AH=m  CONFIG_IP6_NF_MATCH_EUI64=m @@ -179,11 +206,13 @@ CONFIG_IP6_NF_MATCH_RT=m  CONFIG_IP6_NF_TARGET_HL=m  CONFIG_IP6_NF_FILTER=m  CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_TARGET_SYNPROXY=m  CONFIG_IP6_NF_MANGLE=m  CONFIG_IP6_NF_RAW=m  CONFIG_NF_NAT_IPV6=m  CONFIG_IP6_NF_TARGET_MASQUERADE=m  CONFIG_IP6_NF_TARGET_NPT=m +CONFIG_NF_TABLES_BRIDGE=m  CONFIG_IP_DCCP=m  # CONFIG_IP_DCCP_CCID3 is not set  CONFIG_SCTP_COOKIE_HMAC_SHA1=y @@ -191,10 +220,14 @@ CONFIG_RDS=m  CONFIG_RDS_TCP=m  CONFIG_L2TP=m  CONFIG_ATALK=m +CONFIG_DNS_RESOLVER=y  CONFIG_BATMAN_ADV=m  CONFIG_BATMAN_ADV_DAT=y +CONFIG_BATMAN_ADV_NC=y +CONFIG_BATMAN_ADV_MCAST=y +CONFIG_NETLINK_DIAG=m +CONFIG_NET_MPLS_GSO=m  # CONFIG_WIRELESS is not set -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"  CONFIG_DEVTMPFS=y  # CONFIG_FIRMWARE_IN_KERNEL is not set  # CONFIG_FW_LOADER_USER_HELPER is not set @@ -206,6 +239,7 @@ CONFIG_BLK_DEV_NBD=m  CONFIG_BLK_DEV_RAM=y  CONFIG_CDROM_PKTCDVD=m  CONFIG_ATA_OVER_ETH=m +CONFIG_DUMMY_IRQ=m  CONFIG_RAID_ATTRS=m  CONFIG_SCSI=y  CONFIG_SCSI_TGT=m @@ -228,6 +262,7 @@ CONFIG_DM_CRYPT=m  CONFIG_DM_SNAPSHOT=m  CONFIG_DM_THIN_PROVISIONING=m  CONFIG_DM_CACHE=m +CONFIG_DM_ERA=m  CONFIG_DM_MIRROR=m  CONFIG_DM_RAID=m  CONFIG_DM_ZERO=m @@ -243,20 +278,23 @@ CONFIG_EQUALIZER=m  CONFIG_NET_TEAM=m  CONFIG_NET_TEAM_MODE_BROADCAST=m  CONFIG_NET_TEAM_MODE_ROUNDROBIN=m +CONFIG_NET_TEAM_MODE_RANDOM=m  CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m  CONFIG_NET_TEAM_MODE_LOADBALANCE=m  CONFIG_VXLAN=m  CONFIG_NETCONSOLE=m  CONFIG_NETCONSOLE_DYNAMIC=y  CONFIG_VETH=m -# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_ARC is not set  # CONFIG_NET_VENDOR_BROADCOM is not set  CONFIG_MVME16x_NET=y  # CONFIG_NET_VENDOR_MARVELL is not set  # CONFIG_NET_VENDOR_MICREL is not set  # CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_SAMSUNG is not set  # CONFIG_NET_VENDOR_SEEQ is not set  # CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_NET_VENDOR_VIA is not set  # CONFIG_NET_VENDOR_WIZNET is not set  CONFIG_PPP=m  CONFIG_PPP_BSDCOMP=m @@ -294,10 +332,6 @@ CONFIG_RTC_CLASS=y  CONFIG_RTC_DRV_GENERIC=m  # CONFIG_IOMMU_SUPPORT is not set  CONFIG_PROC_HARDWARE=y -CONFIG_EXT2_FS=y -CONFIG_EXT3_FS=y -# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set -# CONFIG_EXT3_FS_XATTR is not set  CONFIG_EXT4_FS=y  CONFIG_REISERFS_FS=m  CONFIG_JFS_FS=m @@ -334,7 +368,7 @@ CONFIG_QNX6FS_FS=m  CONFIG_SYSV_FS=m  CONFIG_UFS_FS=m  CONFIG_NFS_FS=y -CONFIG_NFS_V4=y +CONFIG_NFS_V4=m  CONFIG_NFS_SWAP=y  CONFIG_ROOT_NFS=y  CONFIG_NFSD=m @@ -393,10 +427,11 @@ CONFIG_NLS_MAC_TURKISH=m  CONFIG_DLM=m  CONFIG_MAGIC_SYSRQ=y  CONFIG_ASYNC_RAID6_TEST=m +CONFIG_TEST_STRING_HELPERS=m +CONFIG_EARLY_PRINTK=y  CONFIG_ENCRYPTED_KEYS=m  CONFIG_CRYPTO_MANAGER=y  CONFIG_CRYPTO_USER=m -CONFIG_CRYPTO_NULL=m  CONFIG_CRYPTO_CRYPTD=m  CONFIG_CRYPTO_TEST=m  CONFIG_CRYPTO_CCM=m @@ -429,11 +464,12 @@ CONFIG_CRYPTO_TEA=m  CONFIG_CRYPTO_TWOFISH=m  CONFIG_CRYPTO_ZLIB=m  CONFIG_CRYPTO_LZO=m +CONFIG_CRYPTO_LZ4=m +CONFIG_CRYPTO_LZ4HC=m  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_USER_API_HASH=m  CONFIG_CRYPTO_USER_API_SKCIPHER=m  # CONFIG_CRYPTO_HW is not set -CONFIG_CRC_T10DIF=y  CONFIG_XZ_DEC_X86=y  CONFIG_XZ_DEC_POWERPC=y  CONFIG_XZ_DEC_IA64=y diff --git a/arch/m68k/configs/q40_defconfig b/arch/m68k/configs/q40_defconfig index be1496ed9b6..d6cf0880c46 100644 --- a/arch/m68k/configs/q40_defconfig +++ b/arch/m68k/configs/q40_defconfig @@ -25,6 +25,8 @@ CONFIG_SUN_PARTITION=y  # CONFIG_EFI_PARTITION is not set  CONFIG_SYSV68_PARTITION=y  CONFIG_IOSCHED_DEADLINE=m +CONFIG_KEXEC=y +CONFIG_BOOTINFO_PROC=y  CONFIG_M68040=y  CONFIG_M68060=y  CONFIG_Q40=y @@ -48,7 +50,6 @@ CONFIG_IP_PNP_RARP=y  CONFIG_NET_IPIP=m  CONFIG_NET_IPGRE_DEMUX=m  CONFIG_NET_IPGRE=m -CONFIG_SYN_COOKIES=y  CONFIG_NET_IPVTI=m  CONFIG_INET_AH=m  CONFIG_INET_ESP=m @@ -59,11 +60,11 @@ CONFIG_INET_XFRM_MODE_BEET=m  # CONFIG_INET_LRO is not set  CONFIG_INET_DIAG=m  CONFIG_INET_UDP_DIAG=m -CONFIG_IPV6_PRIVACY=y  CONFIG_IPV6_ROUTER_PREF=y  CONFIG_INET6_AH=m  CONFIG_INET6_ESP=m  CONFIG_INET6_IPCOMP=m +CONFIG_IPV6_VTI=m  CONFIG_IPV6_GRE=m  CONFIG_NETFILTER=y  CONFIG_NF_CONNTRACK=m @@ -81,6 +82,20 @@ CONFIG_NF_CONNTRACK_PPTP=m  CONFIG_NF_CONNTRACK_SANE=m  CONFIG_NF_CONNTRACK_SIP=m  CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_TABLES=m +CONFIG_NF_TABLES_INET=m +CONFIG_NFT_EXTHDR=m +CONFIG_NFT_META=m +CONFIG_NFT_CT=m +CONFIG_NFT_RBTREE=m +CONFIG_NFT_HASH=m +CONFIG_NFT_COUNTER=m +CONFIG_NFT_LOG=m +CONFIG_NFT_LIMIT=m +CONFIG_NFT_NAT=m +CONFIG_NFT_QUEUE=m +CONFIG_NFT_REJECT=m +CONFIG_NFT_COMPAT=m  CONFIG_NETFILTER_XT_SET=m  CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m  CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m @@ -94,6 +109,7 @@ CONFIG_NETFILTER_XT_TARGET_NFLOG=m  CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m  CONFIG_NETFILTER_XT_TARGET_NOTRACK=m  CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m  CONFIG_NETFILTER_XT_TARGET_TRACE=m  CONFIG_NETFILTER_XT_TARGET_TCPMSS=m  CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m @@ -111,6 +127,7 @@ CONFIG_NETFILTER_XT_MATCH_DSCP=m  CONFIG_NETFILTER_XT_MATCH_ESP=m  CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m  CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_IPCOMP=m  CONFIG_NETFILTER_XT_MATCH_IPRANGE=m  CONFIG_NETFILTER_XT_MATCH_LENGTH=m  CONFIG_NETFILTER_XT_MATCH_LIMIT=m @@ -126,6 +143,7 @@ CONFIG_NETFILTER_XT_MATCH_QUOTA=m  CONFIG_NETFILTER_XT_MATCH_RATEEST=m  CONFIG_NETFILTER_XT_MATCH_REALM=m  CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_SOCKET=m  CONFIG_NETFILTER_XT_MATCH_STATE=m  CONFIG_NETFILTER_XT_MATCH_STATISTIC=m  CONFIG_NETFILTER_XT_MATCH_STRING=m @@ -137,14 +155,20 @@ CONFIG_IP_SET_BITMAP_IP=m  CONFIG_IP_SET_BITMAP_IPMAC=m  CONFIG_IP_SET_BITMAP_PORT=m  CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPMARK=m  CONFIG_IP_SET_HASH_IPPORT=m  CONFIG_IP_SET_HASH_IPPORTIP=m  CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_NETPORTNET=m  CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETNET=m  CONFIG_IP_SET_HASH_NETPORT=m  CONFIG_IP_SET_HASH_NETIFACE=m  CONFIG_IP_SET_LIST_SET=m  CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NFT_CHAIN_ROUTE_IPV4=m +CONFIG_NFT_CHAIN_NAT_IPV4=m +CONFIG_NF_TABLES_ARP=m  CONFIG_IP_NF_IPTABLES=m  CONFIG_IP_NF_MATCH_AH=m  CONFIG_IP_NF_MATCH_ECN=m @@ -152,6 +176,7 @@ CONFIG_IP_NF_MATCH_RPFILTER=m  CONFIG_IP_NF_MATCH_TTL=m  CONFIG_IP_NF_FILTER=m  CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_SYNPROXY=m  CONFIG_IP_NF_TARGET_ULOG=m  CONFIG_NF_NAT_IPV4=m  CONFIG_IP_NF_TARGET_MASQUERADE=m @@ -166,6 +191,8 @@ CONFIG_IP_NF_ARPTABLES=m  CONFIG_IP_NF_ARPFILTER=m  CONFIG_IP_NF_ARP_MANGLE=m  CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_NFT_CHAIN_ROUTE_IPV6=m +CONFIG_NFT_CHAIN_NAT_IPV6=m  CONFIG_IP6_NF_IPTABLES=m  CONFIG_IP6_NF_MATCH_AH=m  CONFIG_IP6_NF_MATCH_EUI64=m @@ -179,11 +206,13 @@ CONFIG_IP6_NF_MATCH_RT=m  CONFIG_IP6_NF_TARGET_HL=m  CONFIG_IP6_NF_FILTER=m  CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_TARGET_SYNPROXY=m  CONFIG_IP6_NF_MANGLE=m  CONFIG_IP6_NF_RAW=m  CONFIG_NF_NAT_IPV6=m  CONFIG_IP6_NF_TARGET_MASQUERADE=m  CONFIG_IP6_NF_TARGET_NPT=m +CONFIG_NF_TABLES_BRIDGE=m  CONFIG_IP_DCCP=m  # CONFIG_IP_DCCP_CCID3 is not set  CONFIG_SCTP_COOKIE_HMAC_SHA1=y @@ -191,10 +220,14 @@ CONFIG_RDS=m  CONFIG_RDS_TCP=m  CONFIG_L2TP=m  CONFIG_ATALK=m +CONFIG_DNS_RESOLVER=y  CONFIG_BATMAN_ADV=m  CONFIG_BATMAN_ADV_DAT=y +CONFIG_BATMAN_ADV_NC=y +CONFIG_BATMAN_ADV_MCAST=y +CONFIG_NETLINK_DIAG=m +CONFIG_NET_MPLS_GSO=m  # CONFIG_WIRELESS is not set -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"  CONFIG_DEVTMPFS=y  # CONFIG_FIRMWARE_IN_KERNEL is not set  # CONFIG_FW_LOADER_USER_HELPER is not set @@ -209,6 +242,7 @@ CONFIG_BLK_DEV_NBD=m  CONFIG_BLK_DEV_RAM=y  CONFIG_CDROM_PKTCDVD=m  CONFIG_ATA_OVER_ETH=m +CONFIG_DUMMY_IRQ=m  CONFIG_IDE=y  CONFIG_IDE_GD_ATAPI=y  CONFIG_BLK_DEV_IDECD=y @@ -234,6 +268,7 @@ CONFIG_DM_CRYPT=m  CONFIG_DM_SNAPSHOT=m  CONFIG_DM_THIN_PROVISIONING=m  CONFIG_DM_CACHE=m +CONFIG_DM_ERA=m  CONFIG_DM_MIRROR=m  CONFIG_DM_RAID=m  CONFIG_DM_ZERO=m @@ -249,6 +284,7 @@ CONFIG_EQUALIZER=m  CONFIG_NET_TEAM=m  CONFIG_NET_TEAM_MODE_BROADCAST=m  CONFIG_NET_TEAM_MODE_ROUNDROBIN=m +CONFIG_NET_TEAM_MODE_RANDOM=m  CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m  CONFIG_NET_TEAM_MODE_LOADBALANCE=m  CONFIG_VXLAN=m @@ -257,18 +293,19 @@ CONFIG_NETCONSOLE_DYNAMIC=y  CONFIG_VETH=m  # CONFIG_NET_VENDOR_3COM is not set  # CONFIG_NET_VENDOR_AMD is not set -# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_ARC is not set  # CONFIG_NET_VENDOR_BROADCOM is not set  # CONFIG_NET_VENDOR_CIRRUS is not set -# CONFIG_NET_VENDOR_FUJITSU is not set  # CONFIG_NET_VENDOR_HP is not set  # CONFIG_NET_VENDOR_INTEL is not set  # CONFIG_NET_VENDOR_MARVELL is not set  # CONFIG_NET_VENDOR_MICREL is not set  CONFIG_NE2000=m +# CONFIG_NET_VENDOR_SAMSUNG is not set  # CONFIG_NET_VENDOR_SEEQ is not set  # CONFIG_NET_VENDOR_SMSC is not set  # CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_NET_VENDOR_VIA is not set  # CONFIG_NET_VENDOR_WIZNET is not set  CONFIG_PLIP=m  CONFIG_PPP=m @@ -293,7 +330,6 @@ CONFIG_MOUSE_SERIAL=m  CONFIG_INPUT_MISC=y  CONFIG_INPUT_M68K_BEEP=m  CONFIG_SERIO_Q40KBD=y -CONFIG_VT_HW_CONSOLE_BINDING=y  # CONFIG_LEGACY_PTYS is not set  # CONFIG_DEVKMEM is not set  CONFIG_PRINTER=m @@ -318,10 +354,6 @@ CONFIG_RTC_DRV_GENERIC=m  # CONFIG_IOMMU_SUPPORT is not set  CONFIG_HEARTBEAT=y  CONFIG_PROC_HARDWARE=y -CONFIG_EXT2_FS=y -CONFIG_EXT3_FS=y -# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set -# CONFIG_EXT3_FS_XATTR is not set  CONFIG_EXT4_FS=y  CONFIG_REISERFS_FS=m  CONFIG_JFS_FS=m @@ -358,7 +390,7 @@ CONFIG_QNX6FS_FS=m  CONFIG_SYSV_FS=m  CONFIG_UFS_FS=m  CONFIG_NFS_FS=y -CONFIG_NFS_V4=y +CONFIG_NFS_V4=m  CONFIG_NFS_SWAP=y  CONFIG_ROOT_NFS=y  CONFIG_NFSD=m @@ -417,10 +449,10 @@ CONFIG_NLS_MAC_TURKISH=m  CONFIG_DLM=m  CONFIG_MAGIC_SYSRQ=y  CONFIG_ASYNC_RAID6_TEST=m +CONFIG_TEST_STRING_HELPERS=m  CONFIG_ENCRYPTED_KEYS=m  CONFIG_CRYPTO_MANAGER=y  CONFIG_CRYPTO_USER=m -CONFIG_CRYPTO_NULL=m  CONFIG_CRYPTO_CRYPTD=m  CONFIG_CRYPTO_TEST=m  CONFIG_CRYPTO_CCM=m @@ -453,11 +485,12 @@ CONFIG_CRYPTO_TEA=m  CONFIG_CRYPTO_TWOFISH=m  CONFIG_CRYPTO_ZLIB=m  CONFIG_CRYPTO_LZO=m +CONFIG_CRYPTO_LZ4=m +CONFIG_CRYPTO_LZ4HC=m  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_USER_API_HASH=m  CONFIG_CRYPTO_USER_API_SKCIPHER=m  # CONFIG_CRYPTO_HW is not set -CONFIG_CRC_T10DIF=y  CONFIG_XZ_DEC_X86=y  CONFIG_XZ_DEC_POWERPC=y  CONFIG_XZ_DEC_IA64=y diff --git a/arch/m68k/configs/sun3_defconfig b/arch/m68k/configs/sun3_defconfig index 54674d61e00..f4e88d1c747 100644 --- a/arch/m68k/configs/sun3_defconfig +++ b/arch/m68k/configs/sun3_defconfig @@ -24,6 +24,8 @@ CONFIG_UNIXWARE_DISKLABEL=y  # CONFIG_EFI_PARTITION is not set  CONFIG_SYSV68_PARTITION=y  CONFIG_IOSCHED_DEADLINE=m +CONFIG_KEXEC=y +CONFIG_BOOTINFO_PROC=y  CONFIG_SUN3=y  # CONFIG_COMPACTION is not set  CONFIG_CLEANCACHE=y @@ -45,7 +47,6 @@ CONFIG_IP_PNP_RARP=y  CONFIG_NET_IPIP=m  CONFIG_NET_IPGRE_DEMUX=m  CONFIG_NET_IPGRE=m -CONFIG_SYN_COOKIES=y  CONFIG_NET_IPVTI=m  CONFIG_INET_AH=m  CONFIG_INET_ESP=m @@ -56,11 +57,11 @@ CONFIG_INET_XFRM_MODE_BEET=m  # CONFIG_INET_LRO is not set  CONFIG_INET_DIAG=m  CONFIG_INET_UDP_DIAG=m -CONFIG_IPV6_PRIVACY=y  CONFIG_IPV6_ROUTER_PREF=y  CONFIG_INET6_AH=m  CONFIG_INET6_ESP=m  CONFIG_INET6_IPCOMP=m +CONFIG_IPV6_VTI=m  CONFIG_IPV6_GRE=m  CONFIG_NETFILTER=y  CONFIG_NF_CONNTRACK=m @@ -78,6 +79,20 @@ CONFIG_NF_CONNTRACK_PPTP=m  CONFIG_NF_CONNTRACK_SANE=m  CONFIG_NF_CONNTRACK_SIP=m  CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_TABLES=m +CONFIG_NF_TABLES_INET=m +CONFIG_NFT_EXTHDR=m +CONFIG_NFT_META=m +CONFIG_NFT_CT=m +CONFIG_NFT_RBTREE=m +CONFIG_NFT_HASH=m +CONFIG_NFT_COUNTER=m +CONFIG_NFT_LOG=m +CONFIG_NFT_LIMIT=m +CONFIG_NFT_NAT=m +CONFIG_NFT_QUEUE=m +CONFIG_NFT_REJECT=m +CONFIG_NFT_COMPAT=m  CONFIG_NETFILTER_XT_SET=m  CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m  CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m @@ -91,6 +106,7 @@ CONFIG_NETFILTER_XT_TARGET_NFLOG=m  CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m  CONFIG_NETFILTER_XT_TARGET_NOTRACK=m  CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m  CONFIG_NETFILTER_XT_TARGET_TRACE=m  CONFIG_NETFILTER_XT_TARGET_TCPMSS=m  CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m @@ -108,6 +124,7 @@ CONFIG_NETFILTER_XT_MATCH_DSCP=m  CONFIG_NETFILTER_XT_MATCH_ESP=m  CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m  CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_IPCOMP=m  CONFIG_NETFILTER_XT_MATCH_IPRANGE=m  CONFIG_NETFILTER_XT_MATCH_LENGTH=m  CONFIG_NETFILTER_XT_MATCH_LIMIT=m @@ -123,6 +140,7 @@ CONFIG_NETFILTER_XT_MATCH_QUOTA=m  CONFIG_NETFILTER_XT_MATCH_RATEEST=m  CONFIG_NETFILTER_XT_MATCH_REALM=m  CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_SOCKET=m  CONFIG_NETFILTER_XT_MATCH_STATE=m  CONFIG_NETFILTER_XT_MATCH_STATISTIC=m  CONFIG_NETFILTER_XT_MATCH_STRING=m @@ -134,14 +152,20 @@ CONFIG_IP_SET_BITMAP_IP=m  CONFIG_IP_SET_BITMAP_IPMAC=m  CONFIG_IP_SET_BITMAP_PORT=m  CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPMARK=m  CONFIG_IP_SET_HASH_IPPORT=m  CONFIG_IP_SET_HASH_IPPORTIP=m  CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_NETPORTNET=m  CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETNET=m  CONFIG_IP_SET_HASH_NETPORT=m  CONFIG_IP_SET_HASH_NETIFACE=m  CONFIG_IP_SET_LIST_SET=m  CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NFT_CHAIN_ROUTE_IPV4=m +CONFIG_NFT_CHAIN_NAT_IPV4=m +CONFIG_NF_TABLES_ARP=m  CONFIG_IP_NF_IPTABLES=m  CONFIG_IP_NF_MATCH_AH=m  CONFIG_IP_NF_MATCH_ECN=m @@ -149,6 +173,7 @@ CONFIG_IP_NF_MATCH_RPFILTER=m  CONFIG_IP_NF_MATCH_TTL=m  CONFIG_IP_NF_FILTER=m  CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_SYNPROXY=m  CONFIG_IP_NF_TARGET_ULOG=m  CONFIG_NF_NAT_IPV4=m  CONFIG_IP_NF_TARGET_MASQUERADE=m @@ -163,6 +188,8 @@ CONFIG_IP_NF_ARPTABLES=m  CONFIG_IP_NF_ARPFILTER=m  CONFIG_IP_NF_ARP_MANGLE=m  CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_NFT_CHAIN_ROUTE_IPV6=m +CONFIG_NFT_CHAIN_NAT_IPV6=m  CONFIG_IP6_NF_IPTABLES=m  CONFIG_IP6_NF_MATCH_AH=m  CONFIG_IP6_NF_MATCH_EUI64=m @@ -176,11 +203,13 @@ CONFIG_IP6_NF_MATCH_RT=m  CONFIG_IP6_NF_TARGET_HL=m  CONFIG_IP6_NF_FILTER=m  CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_TARGET_SYNPROXY=m  CONFIG_IP6_NF_MANGLE=m  CONFIG_IP6_NF_RAW=m  CONFIG_NF_NAT_IPV6=m  CONFIG_IP6_NF_TARGET_MASQUERADE=m  CONFIG_IP6_NF_TARGET_NPT=m +CONFIG_NF_TABLES_BRIDGE=m  CONFIG_IP_DCCP=m  # CONFIG_IP_DCCP_CCID3 is not set  CONFIG_SCTP_COOKIE_HMAC_SHA1=y @@ -188,10 +217,14 @@ CONFIG_RDS=m  CONFIG_RDS_TCP=m  CONFIG_L2TP=m  CONFIG_ATALK=m +CONFIG_DNS_RESOLVER=y  CONFIG_BATMAN_ADV=m  CONFIG_BATMAN_ADV_DAT=y +CONFIG_BATMAN_ADV_NC=y +CONFIG_BATMAN_ADV_MCAST=y +CONFIG_NETLINK_DIAG=m +CONFIG_NET_MPLS_GSO=m  # CONFIG_WIRELESS is not set -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"  CONFIG_DEVTMPFS=y  # CONFIG_FIRMWARE_IN_KERNEL is not set  # CONFIG_FW_LOADER_USER_HELPER is not set @@ -203,6 +236,7 @@ CONFIG_BLK_DEV_NBD=m  CONFIG_BLK_DEV_RAM=y  CONFIG_CDROM_PKTCDVD=m  CONFIG_ATA_OVER_ETH=m +CONFIG_DUMMY_IRQ=m  CONFIG_RAID_ATTRS=m  CONFIG_SCSI=y  CONFIG_SCSI_TGT=m @@ -225,6 +259,7 @@ CONFIG_DM_CRYPT=m  CONFIG_DM_SNAPSHOT=m  CONFIG_DM_THIN_PROVISIONING=m  CONFIG_DM_CACHE=m +CONFIG_DM_ERA=m  CONFIG_DM_MIRROR=m  CONFIG_DM_RAID=m  CONFIG_DM_ZERO=m @@ -240,6 +275,7 @@ CONFIG_EQUALIZER=m  CONFIG_NET_TEAM=m  CONFIG_NET_TEAM_MODE_BROADCAST=m  CONFIG_NET_TEAM_MODE_ROUNDROBIN=m +CONFIG_NET_TEAM_MODE_RANDOM=m  CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m  CONFIG_NET_TEAM_MODE_LOADBALANCE=m  CONFIG_VXLAN=m @@ -247,14 +283,16 @@ CONFIG_NETCONSOLE=m  CONFIG_NETCONSOLE_DYNAMIC=y  CONFIG_VETH=m  CONFIG_SUN3LANCE=y -# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_ARC is not set  CONFIG_SUN3_82586=y  # CONFIG_NET_VENDOR_MARVELL is not set  # CONFIG_NET_VENDOR_MICREL is not set  # CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_SAMSUNG is not set  # CONFIG_NET_VENDOR_SEEQ is not set  # CONFIG_NET_VENDOR_STMICRO is not set  # CONFIG_NET_VENDOR_SUN is not set +# CONFIG_NET_VENDOR_VIA is not set  # CONFIG_NET_VENDOR_WIZNET is not set  CONFIG_PPP=m  CONFIG_PPP_BSDCOMP=m @@ -276,7 +314,6 @@ CONFIG_INPUT_EVDEV=m  CONFIG_KEYBOARD_SUNKBD=y  # CONFIG_MOUSE_PS2 is not set  CONFIG_MOUSE_SERIAL=m -CONFIG_VT_HW_CONSOLE_BINDING=y  # CONFIG_LEGACY_PTYS is not set  # CONFIG_DEVKMEM is not set  # CONFIG_HW_RANDOM is not set @@ -296,10 +333,6 @@ CONFIG_RTC_CLASS=y  CONFIG_RTC_DRV_GENERIC=m  # CONFIG_IOMMU_SUPPORT is not set  CONFIG_PROC_HARDWARE=y -CONFIG_EXT2_FS=y -CONFIG_EXT3_FS=y -# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set -# CONFIG_EXT3_FS_XATTR is not set  CONFIG_EXT4_FS=y  CONFIG_REISERFS_FS=m  CONFIG_JFS_FS=m @@ -336,7 +369,7 @@ CONFIG_QNX6FS_FS=m  CONFIG_SYSV_FS=m  CONFIG_UFS_FS=m  CONFIG_NFS_FS=y -CONFIG_NFS_V4=y +CONFIG_NFS_V4=m  CONFIG_NFS_SWAP=y  CONFIG_ROOT_NFS=y  CONFIG_NFSD=m @@ -395,10 +428,10 @@ CONFIG_NLS_MAC_TURKISH=m  CONFIG_DLM=m  CONFIG_MAGIC_SYSRQ=y  CONFIG_ASYNC_RAID6_TEST=m +CONFIG_TEST_STRING_HELPERS=m  CONFIG_ENCRYPTED_KEYS=m  CONFIG_CRYPTO_MANAGER=y  CONFIG_CRYPTO_USER=m -CONFIG_CRYPTO_NULL=m  CONFIG_CRYPTO_CRYPTD=m  CONFIG_CRYPTO_TEST=m  CONFIG_CRYPTO_CCM=m @@ -431,11 +464,12 @@ CONFIG_CRYPTO_TEA=m  CONFIG_CRYPTO_TWOFISH=m  CONFIG_CRYPTO_ZLIB=m  CONFIG_CRYPTO_LZO=m +CONFIG_CRYPTO_LZ4=m +CONFIG_CRYPTO_LZ4HC=m  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_USER_API_HASH=m  CONFIG_CRYPTO_USER_API_SKCIPHER=m  # CONFIG_CRYPTO_HW is not set -CONFIG_CRC_T10DIF=y  CONFIG_XZ_DEC_X86=y  CONFIG_XZ_DEC_POWERPC=y  CONFIG_XZ_DEC_IA64=y diff --git a/arch/m68k/configs/sun3x_defconfig b/arch/m68k/configs/sun3x_defconfig index 832d9539f44..49f4032c1ad 100644 --- a/arch/m68k/configs/sun3x_defconfig +++ b/arch/m68k/configs/sun3x_defconfig @@ -24,6 +24,8 @@ CONFIG_UNIXWARE_DISKLABEL=y  # CONFIG_EFI_PARTITION is not set  CONFIG_SYSV68_PARTITION=y  CONFIG_IOSCHED_DEADLINE=m +CONFIG_KEXEC=y +CONFIG_BOOTINFO_PROC=y  CONFIG_SUN3X=y  # CONFIG_COMPACTION is not set  CONFIG_CLEANCACHE=y @@ -45,7 +47,6 @@ CONFIG_IP_PNP_RARP=y  CONFIG_NET_IPIP=m  CONFIG_NET_IPGRE_DEMUX=m  CONFIG_NET_IPGRE=m -CONFIG_SYN_COOKIES=y  CONFIG_NET_IPVTI=m  CONFIG_INET_AH=m  CONFIG_INET_ESP=m @@ -56,11 +57,11 @@ CONFIG_INET_XFRM_MODE_BEET=m  # CONFIG_INET_LRO is not set  CONFIG_INET_DIAG=m  CONFIG_INET_UDP_DIAG=m -CONFIG_IPV6_PRIVACY=y  CONFIG_IPV6_ROUTER_PREF=y  CONFIG_INET6_AH=m  CONFIG_INET6_ESP=m  CONFIG_INET6_IPCOMP=m +CONFIG_IPV6_VTI=m  CONFIG_IPV6_GRE=m  CONFIG_NETFILTER=y  CONFIG_NF_CONNTRACK=m @@ -78,6 +79,20 @@ CONFIG_NF_CONNTRACK_PPTP=m  CONFIG_NF_CONNTRACK_SANE=m  CONFIG_NF_CONNTRACK_SIP=m  CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_TABLES=m +CONFIG_NF_TABLES_INET=m +CONFIG_NFT_EXTHDR=m +CONFIG_NFT_META=m +CONFIG_NFT_CT=m +CONFIG_NFT_RBTREE=m +CONFIG_NFT_HASH=m +CONFIG_NFT_COUNTER=m +CONFIG_NFT_LOG=m +CONFIG_NFT_LIMIT=m +CONFIG_NFT_NAT=m +CONFIG_NFT_QUEUE=m +CONFIG_NFT_REJECT=m +CONFIG_NFT_COMPAT=m  CONFIG_NETFILTER_XT_SET=m  CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m  CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m @@ -91,6 +106,7 @@ CONFIG_NETFILTER_XT_TARGET_NFLOG=m  CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m  CONFIG_NETFILTER_XT_TARGET_NOTRACK=m  CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m  CONFIG_NETFILTER_XT_TARGET_TRACE=m  CONFIG_NETFILTER_XT_TARGET_TCPMSS=m  CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m @@ -108,6 +124,7 @@ CONFIG_NETFILTER_XT_MATCH_DSCP=m  CONFIG_NETFILTER_XT_MATCH_ESP=m  CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m  CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_IPCOMP=m  CONFIG_NETFILTER_XT_MATCH_IPRANGE=m  CONFIG_NETFILTER_XT_MATCH_LENGTH=m  CONFIG_NETFILTER_XT_MATCH_LIMIT=m @@ -123,6 +140,7 @@ CONFIG_NETFILTER_XT_MATCH_QUOTA=m  CONFIG_NETFILTER_XT_MATCH_RATEEST=m  CONFIG_NETFILTER_XT_MATCH_REALM=m  CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_SOCKET=m  CONFIG_NETFILTER_XT_MATCH_STATE=m  CONFIG_NETFILTER_XT_MATCH_STATISTIC=m  CONFIG_NETFILTER_XT_MATCH_STRING=m @@ -134,14 +152,20 @@ CONFIG_IP_SET_BITMAP_IP=m  CONFIG_IP_SET_BITMAP_IPMAC=m  CONFIG_IP_SET_BITMAP_PORT=m  CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPMARK=m  CONFIG_IP_SET_HASH_IPPORT=m  CONFIG_IP_SET_HASH_IPPORTIP=m  CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_NETPORTNET=m  CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETNET=m  CONFIG_IP_SET_HASH_NETPORT=m  CONFIG_IP_SET_HASH_NETIFACE=m  CONFIG_IP_SET_LIST_SET=m  CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NFT_CHAIN_ROUTE_IPV4=m +CONFIG_NFT_CHAIN_NAT_IPV4=m +CONFIG_NF_TABLES_ARP=m  CONFIG_IP_NF_IPTABLES=m  CONFIG_IP_NF_MATCH_AH=m  CONFIG_IP_NF_MATCH_ECN=m @@ -149,6 +173,7 @@ CONFIG_IP_NF_MATCH_RPFILTER=m  CONFIG_IP_NF_MATCH_TTL=m  CONFIG_IP_NF_FILTER=m  CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_SYNPROXY=m  CONFIG_IP_NF_TARGET_ULOG=m  CONFIG_NF_NAT_IPV4=m  CONFIG_IP_NF_TARGET_MASQUERADE=m @@ -163,6 +188,8 @@ CONFIG_IP_NF_ARPTABLES=m  CONFIG_IP_NF_ARPFILTER=m  CONFIG_IP_NF_ARP_MANGLE=m  CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_NFT_CHAIN_ROUTE_IPV6=m +CONFIG_NFT_CHAIN_NAT_IPV6=m  CONFIG_IP6_NF_IPTABLES=m  CONFIG_IP6_NF_MATCH_AH=m  CONFIG_IP6_NF_MATCH_EUI64=m @@ -176,11 +203,13 @@ CONFIG_IP6_NF_MATCH_RT=m  CONFIG_IP6_NF_TARGET_HL=m  CONFIG_IP6_NF_FILTER=m  CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_TARGET_SYNPROXY=m  CONFIG_IP6_NF_MANGLE=m  CONFIG_IP6_NF_RAW=m  CONFIG_NF_NAT_IPV6=m  CONFIG_IP6_NF_TARGET_MASQUERADE=m  CONFIG_IP6_NF_TARGET_NPT=m +CONFIG_NF_TABLES_BRIDGE=m  CONFIG_IP_DCCP=m  # CONFIG_IP_DCCP_CCID3 is not set  CONFIG_SCTP_COOKIE_HMAC_SHA1=y @@ -188,10 +217,14 @@ CONFIG_RDS=m  CONFIG_RDS_TCP=m  CONFIG_L2TP=m  CONFIG_ATALK=m +CONFIG_DNS_RESOLVER=y  CONFIG_BATMAN_ADV=m  CONFIG_BATMAN_ADV_DAT=y +CONFIG_BATMAN_ADV_NC=y +CONFIG_BATMAN_ADV_MCAST=y +CONFIG_NETLINK_DIAG=m +CONFIG_NET_MPLS_GSO=m  # CONFIG_WIRELESS is not set -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"  CONFIG_DEVTMPFS=y  # CONFIG_FIRMWARE_IN_KERNEL is not set  # CONFIG_FW_LOADER_USER_HELPER is not set @@ -203,6 +236,7 @@ CONFIG_BLK_DEV_NBD=m  CONFIG_BLK_DEV_RAM=y  CONFIG_CDROM_PKTCDVD=m  CONFIG_ATA_OVER_ETH=m +CONFIG_DUMMY_IRQ=m  CONFIG_RAID_ATTRS=m  CONFIG_SCSI=y  CONFIG_SCSI_TGT=m @@ -225,6 +259,7 @@ CONFIG_DM_CRYPT=m  CONFIG_DM_SNAPSHOT=m  CONFIG_DM_THIN_PROVISIONING=m  CONFIG_DM_CACHE=m +CONFIG_DM_ERA=m  CONFIG_DM_MIRROR=m  CONFIG_DM_RAID=m  CONFIG_DM_ZERO=m @@ -240,6 +275,7 @@ CONFIG_EQUALIZER=m  CONFIG_NET_TEAM=m  CONFIG_NET_TEAM_MODE_BROADCAST=m  CONFIG_NET_TEAM_MODE_ROUNDROBIN=m +CONFIG_NET_TEAM_MODE_RANDOM=m  CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m  CONFIG_NET_TEAM_MODE_LOADBALANCE=m  CONFIG_VXLAN=m @@ -247,14 +283,16 @@ CONFIG_NETCONSOLE=m  CONFIG_NETCONSOLE_DYNAMIC=y  CONFIG_VETH=m  CONFIG_SUN3LANCE=y -# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_ARC is not set  # CONFIG_NET_VENDOR_BROADCOM is not set  # CONFIG_NET_VENDOR_INTEL is not set  # CONFIG_NET_VENDOR_MARVELL is not set  # CONFIG_NET_VENDOR_MICREL is not set  # CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_SAMSUNG is not set  # CONFIG_NET_VENDOR_SEEQ is not set  # CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_NET_VENDOR_VIA is not set  # CONFIG_NET_VENDOR_WIZNET is not set  CONFIG_PPP=m  CONFIG_PPP_BSDCOMP=m @@ -276,7 +314,6 @@ CONFIG_INPUT_EVDEV=m  CONFIG_KEYBOARD_SUNKBD=y  # CONFIG_MOUSE_PS2 is not set  CONFIG_MOUSE_SERIAL=m -CONFIG_VT_HW_CONSOLE_BINDING=y  # CONFIG_LEGACY_PTYS is not set  # CONFIG_DEVKMEM is not set  # CONFIG_HW_RANDOM is not set @@ -296,10 +333,6 @@ CONFIG_RTC_CLASS=y  CONFIG_RTC_DRV_GENERIC=m  # CONFIG_IOMMU_SUPPORT is not set  CONFIG_PROC_HARDWARE=y -CONFIG_EXT2_FS=y -CONFIG_EXT3_FS=y -# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set -# CONFIG_EXT3_FS_XATTR is not set  CONFIG_EXT4_FS=y  CONFIG_REISERFS_FS=m  CONFIG_JFS_FS=m @@ -336,7 +369,7 @@ CONFIG_QNX6FS_FS=m  CONFIG_SYSV_FS=m  CONFIG_UFS_FS=m  CONFIG_NFS_FS=y -CONFIG_NFS_V4=y +CONFIG_NFS_V4=m  CONFIG_NFS_SWAP=y  CONFIG_ROOT_NFS=y  CONFIG_NFSD=m @@ -395,10 +428,10 @@ CONFIG_NLS_MAC_TURKISH=m  CONFIG_DLM=m  CONFIG_MAGIC_SYSRQ=y  CONFIG_ASYNC_RAID6_TEST=m +CONFIG_TEST_STRING_HELPERS=m  CONFIG_ENCRYPTED_KEYS=m  CONFIG_CRYPTO_MANAGER=y  CONFIG_CRYPTO_USER=m -CONFIG_CRYPTO_NULL=m  CONFIG_CRYPTO_CRYPTD=m  CONFIG_CRYPTO_TEST=m  CONFIG_CRYPTO_CCM=m @@ -431,11 +464,12 @@ CONFIG_CRYPTO_TEA=m  CONFIG_CRYPTO_TWOFISH=m  CONFIG_CRYPTO_ZLIB=m  CONFIG_CRYPTO_LZO=m +CONFIG_CRYPTO_LZ4=m +CONFIG_CRYPTO_LZ4HC=m  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_USER_API_HASH=m  CONFIG_CRYPTO_USER_API_SKCIPHER=m  # CONFIG_CRYPTO_HW is not set -CONFIG_CRC_T10DIF=y  CONFIG_XZ_DEC_X86=y  CONFIG_XZ_DEC_POWERPC=y  CONFIG_XZ_DEC_IA64=y diff --git a/arch/m68k/emu/natfeat.c b/arch/m68k/emu/natfeat.c index 121a6660ad4..71b78ecee75 100644 --- a/arch/m68k/emu/natfeat.c +++ b/arch/m68k/emu/natfeat.c @@ -9,6 +9,7 @@   * the GNU General Public License (GPL), incorporated herein by reference.   */ +#include <linux/init.h>  #include <linux/types.h>  #include <linux/console.h>  #include <linux/string.h> @@ -70,7 +71,7 @@ static void nf_poweroff(void)  		nf_call(id);  } -void nf_init(void) +void __init nf_init(void)  {  	unsigned long id, version;  	char buf[256]; diff --git a/arch/m68k/emu/nfblock.c b/arch/m68k/emu/nfblock.c index 0721858fbd1..2d75ae24616 100644 --- a/arch/m68k/emu/nfblock.c +++ b/arch/m68k/emu/nfblock.c @@ -62,17 +62,18 @@ struct nfhd_device {  static void nfhd_make_request(struct request_queue *queue, struct bio *bio)  {  	struct nfhd_device *dev = queue->queuedata; -	struct bio_vec *bvec; -	int i, dir, len, shift; -	sector_t sec = bio->bi_sector; +	struct bio_vec bvec; +	struct bvec_iter iter; +	int dir, len, shift; +	sector_t sec = bio->bi_iter.bi_sector;  	dir = bio_data_dir(bio);  	shift = dev->bshift; -	bio_for_each_segment(bvec, bio, i) { -		len = bvec->bv_len; +	bio_for_each_segment(bvec, bio, iter) { +		len = bvec.bv_len;  		len >>= 9;  		nfhd_read_write(dev->id, 0, dir, sec >> shift, len >> shift, -				bvec_to_phys(bvec)); +				bvec_to_phys(&bvec));  		sec += len;  	}  	bio_endio(bio, 0); diff --git a/arch/m68k/hp300/config.c b/arch/m68k/hp300/config.c index b7609f79152..a9befe65adc 100644 --- a/arch/m68k/hp300/config.c +++ b/arch/m68k/hp300/config.c @@ -14,6 +14,8 @@  #include <linux/console.h>  #include <asm/bootinfo.h> +#include <asm/bootinfo-hp300.h> +#include <asm/byteorder.h>  #include <asm/machdep.h>  #include <asm/blinken.h>  #include <asm/io.h>                               /* readb() and writeb() */ @@ -70,22 +72,22 @@ extern int hp300_setup_serial_console(void) __init;  int __init hp300_parse_bootinfo(const struct bi_record *record)  {  	int unknown = 0; -	const unsigned long *data = record->data; +	const void *data = record->data; -	switch (record->tag) { +	switch (be16_to_cpu(record->tag)) {  	case BI_HP300_MODEL: -		hp300_model = *data; +		hp300_model = be32_to_cpup(data);  		break;  	case BI_HP300_UART_SCODE: -		hp300_uart_scode = *data; +		hp300_uart_scode = be32_to_cpup(data);  		break;  	case BI_HP300_UART_ADDR:  		/* serial port address: ignored here */  		break; -        default: +	default:  		unknown = 1;  	} @@ -260,11 +262,12 @@ void __init config_hp300(void)  #endif  	mach_max_dma_address = 0xffffffff; -	if (hp300_model >= HP_330 && hp300_model <= HP_433S && hp300_model != HP_350) { -		printk(KERN_INFO "Detected HP9000 model %s\n", hp300_models[hp300_model-HP_320]); +	if (hp300_model >= HP_330 && hp300_model <= HP_433S && +	    hp300_model != HP_350) { +		pr_info("Detected HP9000 model %s\n", +			hp300_models[hp300_model-HP_320]);  		strcat(hp300_model_name, hp300_models[hp300_model-HP_320]); -	} -	else { +	} else {  		panic("Unknown HP9000 Model");  	}  #ifdef CONFIG_SERIAL_8250_CONSOLE diff --git a/arch/m68k/include/asm/Kbuild b/arch/m68k/include/asm/Kbuild index 09d77a862da..c67c94a2d67 100644 --- a/arch/m68k/include/asm/Kbuild +++ b/arch/m68k/include/asm/Kbuild @@ -1,4 +1,4 @@ - +generic-y += barrier.h  generic-y += bitsperlong.h  generic-y += clkdev.h  generic-y += cputime.h @@ -6,6 +6,7 @@ generic-y += device.h  generic-y += emergency-restart.h  generic-y += errno.h  generic-y += exec.h +generic-y += hash.h  generic-y += hw_irq.h  generic-y += ioctl.h  generic-y += ipcbuf.h @@ -13,11 +14,13 @@ generic-y += irq_regs.h  generic-y += kdebug.h  generic-y += kmap_types.h  generic-y += kvm_para.h -generic-y += local64.h  generic-y += local.h +generic-y += local64.h +generic-y += mcs_spinlock.h  generic-y += mman.h  generic-y += mutex.h  generic-y += percpu.h +generic-y += preempt.h  generic-y += resource.h  generic-y += scatterlist.h  generic-y += sections.h diff --git a/arch/m68k/include/asm/amigahw.h b/arch/m68k/include/asm/amigahw.h index 7a19b5686a4..5ad568110f1 100644 --- a/arch/m68k/include/asm/amigahw.h +++ b/arch/m68k/include/asm/amigahw.h @@ -18,26 +18,7 @@  #include <linux/ioport.h> -    /* -     *  Different Amiga models -     */ - -#define AMI_UNKNOWN	(0) -#define AMI_500		(1) -#define AMI_500PLUS	(2) -#define AMI_600		(3) -#define AMI_1000	(4) -#define AMI_1200	(5) -#define AMI_2000	(6) -#define AMI_2500	(7) -#define AMI_3000	(8) -#define AMI_3000T	(9) -#define AMI_3000PLUS	(10) -#define AMI_4000	(11) -#define AMI_4000T	(12) -#define AMI_CDTV	(13) -#define AMI_CD32	(14) -#define AMI_DRACO	(15) +#include <asm/bootinfo-amiga.h>      /* @@ -46,11 +27,6 @@  extern unsigned long amiga_chipset; -#define CS_STONEAGE	(0) -#define CS_OCS		(1) -#define CS_ECS		(2) -#define CS_AGA		(3) -      /*       *  Miscellaneous @@ -266,7 +242,7 @@ struct CIA {  #define zTwoBase (0x80000000)  #define ZTWO_PADDR(x) (((unsigned long)(x))-zTwoBase) -#define ZTWO_VADDR(x) (((unsigned long)(x))+zTwoBase) +#define ZTWO_VADDR(x) ((void __iomem *)(((unsigned long)(x))+zTwoBase))  #define CUSTOM_PHYSADDR     (0xdff000)  #define amiga_custom ((*(volatile struct CUSTOM *)(zTwoBase+CUSTOM_PHYSADDR))) diff --git a/arch/m68k/include/asm/apollohw.h b/arch/m68k/include/asm/apollohw.h index 6c19e0c2241..87fc899d32e 100644 --- a/arch/m68k/include/asm/apollohw.h +++ b/arch/m68k/include/asm/apollohw.h @@ -5,18 +5,11 @@  #include <linux/types.h> -/* -   apollo models -*/ +#include <asm/bootinfo-apollo.h> +  extern u_long apollo_model; -#define APOLLO_UNKNOWN (0) -#define APOLLO_DN3000 (1) -#define APOLLO_DN3010 (2) -#define APOLLO_DN3500 (3) -#define APOLLO_DN4000 (4) -#define APOLLO_DN4500 (5)  /*     see scn2681 data sheet for more info. diff --git a/arch/m68k/include/asm/atari_stram.h b/arch/m68k/include/asm/atari_stram.h index 62e27598af9..4e771c22d6a 100644 --- a/arch/m68k/include/asm/atari_stram.h +++ b/arch/m68k/include/asm/atari_stram.h @@ -8,6 +8,8 @@  /* public interface */  void *atari_stram_alloc(unsigned long size, const char *owner);  void atari_stram_free(void *); +void *atari_stram_to_virt(unsigned long phys); +unsigned long atari_stram_to_phys(void *);  /* functions called internally by other parts of the kernel */  void atari_stram_init(void); diff --git a/arch/m68k/include/asm/atarihw.h b/arch/m68k/include/asm/atarihw.h index d887050e6da..972c8f33f05 100644 --- a/arch/m68k/include/asm/atarihw.h +++ b/arch/m68k/include/asm/atarihw.h @@ -21,7 +21,7 @@  #define _LINUX_ATARIHW_H_  #include <linux/types.h> -#include <asm/bootinfo.h> +#include <asm/bootinfo-atari.h>  #include <asm/raw_io.h>  extern u_long atari_mch_cookie; diff --git a/arch/m68k/include/asm/atomic.h b/arch/m68k/include/asm/atomic.h index f4e32de263a..55695212a2a 100644 --- a/arch/m68k/include/asm/atomic.h +++ b/arch/m68k/include/asm/atomic.h @@ -4,6 +4,7 @@  #include <linux/types.h>  #include <linux/irqflags.h>  #include <asm/cmpxchg.h> +#include <asm/barrier.h>  /*   * Atomic operations that C can't guarantee us.  Useful for @@ -209,11 +210,4 @@ static __inline__ int __atomic_add_unless(atomic_t *v, int a, int u)  	return c;  } - -/* Atomic operations are already serializing */ -#define smp_mb__before_atomic_dec()	barrier() -#define smp_mb__after_atomic_dec()	barrier() -#define smp_mb__before_atomic_inc()	barrier() -#define smp_mb__after_atomic_inc()	barrier() -  #endif /* __ARCH_M68K_ATOMIC __ */ diff --git a/arch/m68k/include/asm/barrier.h b/arch/m68k/include/asm/barrier.h deleted file mode 100644 index 445ce22c23c..00000000000 --- a/arch/m68k/include/asm/barrier.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef _M68K_BARRIER_H -#define _M68K_BARRIER_H - -/* - * Force strict CPU ordering. - * Not really required on m68k... - */ -#define nop()		do { asm volatile ("nop"); barrier(); } while (0) -#define mb()		barrier() -#define rmb()		barrier() -#define wmb()		barrier() -#define read_barrier_depends()	((void)0) -#define set_mb(var, value)	({ (var) = (value); wmb(); }) - -#define smp_mb()	barrier() -#define smp_rmb()	barrier() -#define smp_wmb()	barrier() -#define smp_read_barrier_depends()	((void)0) - -#endif /* _M68K_BARRIER_H */ diff --git a/arch/m68k/include/asm/bitops.h b/arch/m68k/include/asm/bitops.h index c6baa913592..b4a9b0d5928 100644 --- a/arch/m68k/include/asm/bitops.h +++ b/arch/m68k/include/asm/bitops.h @@ -13,6 +13,7 @@  #endif  #include <linux/compiler.h> +#include <asm/barrier.h>  /*   *	Bit access functions vary across the ColdFire and 68k families. @@ -67,12 +68,6 @@ static inline void bfset_mem_set_bit(int nr, volatile unsigned long *vaddr)  #define __set_bit(nr, vaddr)	set_bit(nr, vaddr) -/* - * clear_bit() doesn't provide any barrier for the compiler. - */ -#define smp_mb__before_clear_bit()	barrier() -#define smp_mb__after_clear_bit()	barrier() -  static inline void bclr_reg_clear_bit(int nr, volatile unsigned long *vaddr)  {  	char *p = (char *)vaddr + (nr ^ 31) / 8; diff --git a/arch/m68k/include/asm/bootinfo.h b/arch/m68k/include/asm/bootinfo.h index 67e7a78ad96..8e213267f8e 100644 --- a/arch/m68k/include/asm/bootinfo.h +++ b/arch/m68k/include/asm/bootinfo.h @@ -6,373 +6,23 @@  ** 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. -** -** Created 09/29/92 by Greg Harp -** -** 5/2/94 Roman Hodek: -**   Added bi_atari part of the machine dependent union bi_un; for now it -**   contains just a model field to distinguish between TT and Falcon. -** 26/7/96 Roman Zippel: -**   Renamed to setup.h; added some useful macros to allow gcc some -**   optimizations if possible. -** 5/10/96 Geert Uytterhoeven: -**   Redesign of the boot information structure; renamed to bootinfo.h again -** 27/11/96 Geert Uytterhoeven: -**   Backwards compatibility with bootinfo interface version 1.0  */  #ifndef _M68K_BOOTINFO_H  #define _M68K_BOOTINFO_H +#include <uapi/asm/bootinfo.h> -    /* -     *  Bootinfo definitions -     * -     *  This is an easily parsable and extendable structure containing all -     *  information to be passed from the bootstrap to the kernel. -     * -     *  This way I hope to keep all future changes back/forewards compatible. -     *  Thus, keep your fingers crossed... -     * -     *  This structure is copied right after the kernel bss by the bootstrap -     *  routine. -     */  #ifndef __ASSEMBLY__ -struct bi_record { -    unsigned short tag;			/* tag ID */ -    unsigned short size;		/* size of record (in bytes) */ -    unsigned long data[0];		/* data */ -}; - -#endif /* __ASSEMBLY__ */ - - -    /* -     *  Tag Definitions -     * -     *  Machine independent tags start counting from 0x0000 -     *  Machine dependent tags start counting from 0x8000 -     */ - -#define BI_LAST			0x0000	/* last record (sentinel) */ -#define BI_MACHTYPE		0x0001	/* machine type (u_long) */ -#define BI_CPUTYPE		0x0002	/* cpu type (u_long) */ -#define BI_FPUTYPE		0x0003	/* fpu type (u_long) */ -#define BI_MMUTYPE		0x0004	/* mmu type (u_long) */ -#define BI_MEMCHUNK		0x0005	/* memory chunk address and size */ -					/* (struct mem_info) */ -#define BI_RAMDISK		0x0006	/* ramdisk address and size */ -					/* (struct mem_info) */ -#define BI_COMMAND_LINE		0x0007	/* kernel command line parameters */ -					/* (string) */ - -    /* -     *  Amiga-specific tags -     */ - -#define BI_AMIGA_MODEL		0x8000	/* model (u_long) */ -#define BI_AMIGA_AUTOCON	0x8001	/* AutoConfig device */ -					/* (struct ConfigDev) */ -#define BI_AMIGA_CHIP_SIZE	0x8002	/* size of Chip RAM (u_long) */ -#define BI_AMIGA_VBLANK		0x8003	/* VBLANK frequency (u_char) */ -#define BI_AMIGA_PSFREQ		0x8004	/* power supply frequency (u_char) */ -#define BI_AMIGA_ECLOCK		0x8005	/* EClock frequency (u_long) */ -#define BI_AMIGA_CHIPSET	0x8006	/* native chipset present (u_long) */ -#define BI_AMIGA_SERPER		0x8007	/* serial port period (u_short) */ - -    /* -     *  Atari-specific tags -     */ - -#define BI_ATARI_MCH_COOKIE	0x8000	/* _MCH cookie from TOS (u_long) */ -#define BI_ATARI_MCH_TYPE	0x8001	/* special machine type (u_long) */ -					/* (values are ATARI_MACH_* defines */ - -/* mch_cookie values (upper word) */ -#define ATARI_MCH_ST		0 -#define ATARI_MCH_STE		1 -#define ATARI_MCH_TT		2 -#define ATARI_MCH_FALCON	3 - -/* mch_type values */ -#define ATARI_MACH_NORMAL	0	/* no special machine type */ -#define ATARI_MACH_MEDUSA	1	/* Medusa 040 */ -#define ATARI_MACH_HADES	2	/* Hades 040 or 060 */ -#define ATARI_MACH_AB40		3	/* Afterburner040 on Falcon */ - -    /* -     *  VME-specific tags -     */ - -#define BI_VME_TYPE		0x8000	/* VME sub-architecture (u_long) */ -#define BI_VME_BRDINFO		0x8001	/* VME board information (struct) */ - -/* BI_VME_TYPE codes */ -#define	VME_TYPE_TP34V		0x0034	/* Tadpole TP34V */ -#define VME_TYPE_MVME147	0x0147	/* Motorola MVME147 */ -#define VME_TYPE_MVME162	0x0162	/* Motorola MVME162 */ -#define VME_TYPE_MVME166	0x0166	/* Motorola MVME166 */ -#define VME_TYPE_MVME167	0x0167	/* Motorola MVME167 */ -#define VME_TYPE_MVME172	0x0172	/* Motorola MVME172 */ -#define VME_TYPE_MVME177	0x0177	/* Motorola MVME177 */ -#define VME_TYPE_BVME4000	0x4000	/* BVM Ltd. BVME4000 */ -#define VME_TYPE_BVME6000	0x6000	/* BVM Ltd. BVME6000 */ - -/* BI_VME_BRDINFO is a 32 byte struct as returned by the Bug code on - * Motorola VME boards.  Contains board number, Bug version, board - * configuration options, etc.  See include/asm/mvme16xhw.h for details. - */ - - -    /* -     *  Macintosh-specific tags (all u_long) -     */ - -#define BI_MAC_MODEL		0x8000	/* Mac Gestalt ID (model type) */ -#define BI_MAC_VADDR		0x8001	/* Mac video base address */ -#define BI_MAC_VDEPTH		0x8002	/* Mac video depth */ -#define BI_MAC_VROW		0x8003	/* Mac video rowbytes */ -#define BI_MAC_VDIM		0x8004	/* Mac video dimensions */ -#define BI_MAC_VLOGICAL		0x8005	/* Mac video logical base */ -#define BI_MAC_SCCBASE		0x8006	/* Mac SCC base address */ -#define BI_MAC_BTIME		0x8007	/* Mac boot time */ -#define BI_MAC_GMTBIAS		0x8008	/* Mac GMT timezone offset */ -#define BI_MAC_MEMSIZE		0x8009	/* Mac RAM size (sanity check) */ -#define BI_MAC_CPUID		0x800a	/* Mac CPU type (sanity check) */ -#define BI_MAC_ROMBASE		0x800b	/* Mac system ROM base address */ - -    /* -     *  Macintosh hardware profile data - unused, see macintosh.h for -     *  reasonable type values -     */ - -#define BI_MAC_VIA1BASE		0x8010	/* Mac VIA1 base address (always present) */ -#define BI_MAC_VIA2BASE		0x8011	/* Mac VIA2 base address (type varies) */ -#define BI_MAC_VIA2TYPE		0x8012	/* Mac VIA2 type (VIA, RBV, OSS) */ -#define BI_MAC_ADBTYPE		0x8013	/* Mac ADB interface type */ -#define BI_MAC_ASCBASE		0x8014	/* Mac Apple Sound Chip base address */ -#define BI_MAC_SCSI5380		0x8015	/* Mac NCR 5380 SCSI (base address, multi) */ -#define BI_MAC_SCSIDMA		0x8016	/* Mac SCSI DMA (base address) */ -#define BI_MAC_SCSI5396		0x8017	/* Mac NCR 53C96 SCSI (base address, multi) */ -#define BI_MAC_IDETYPE		0x8018	/* Mac IDE interface type */ -#define BI_MAC_IDEBASE		0x8019	/* Mac IDE interface base address */ -#define BI_MAC_NUBUS		0x801a	/* Mac Nubus type (none, regular, pseudo) */ -#define BI_MAC_SLOTMASK		0x801b	/* Mac Nubus slots present */ -#define BI_MAC_SCCTYPE		0x801c	/* Mac SCC serial type (normal, IOP) */ -#define BI_MAC_ETHTYPE		0x801d	/* Mac builtin ethernet type (Sonic, MACE */ -#define BI_MAC_ETHBASE		0x801e	/* Mac builtin ethernet base address */ -#define BI_MAC_PMU		0x801f	/* Mac power management / poweroff hardware */ -#define BI_MAC_IOP_SWIM		0x8020	/* Mac SWIM floppy IOP */ -#define BI_MAC_IOP_ADB		0x8021	/* Mac ADB IOP */ - -    /* -     * Mac: compatibility with old booter data format (temporarily) -     * Fields unused with the new bootinfo can be deleted now; instead of -     * adding new fields the struct might be splitted into a hardware address -     * part and a hardware type part -     */ - -#ifndef __ASSEMBLY__ - -struct mac_booter_data -{ -	unsigned long videoaddr; -	unsigned long videorow; -	unsigned long videodepth; -	unsigned long dimensions; -	unsigned long args; -	unsigned long boottime; -	unsigned long gmtbias; -	unsigned long bootver; -	unsigned long videological; -	unsigned long sccbase; -	unsigned long id; -	unsigned long memsize; -	unsigned long serialmf; -	unsigned long serialhsk; -	unsigned long serialgpi; -	unsigned long printmf; -	unsigned long printhsk; -	unsigned long printgpi; -	unsigned long cpuid; -	unsigned long rombase; -	unsigned long adbdelay; -	unsigned long timedbra; -}; - -extern struct mac_booter_data -	mac_bi_data; - +#ifdef CONFIG_BOOTINFO_PROC +extern void save_bootinfo(const struct bi_record *bi); +#else +static inline void save_bootinfo(const struct bi_record *bi) {}  #endif -    /* -     *  Apollo-specific tags -     */ - -#define BI_APOLLO_MODEL         0x8000  /* model (u_long) */ - -    /* -     *  HP300-specific tags -     */ - -#define BI_HP300_MODEL		0x8000	/* model (u_long) */ -#define BI_HP300_UART_SCODE	0x8001	/* UART select code (u_long) */ -#define BI_HP300_UART_ADDR	0x8002	/* phys. addr of UART (u_long) */ - -    /* -     * Stuff for bootinfo interface versioning -     * -     * At the start of kernel code, a 'struct bootversion' is located. -     * bootstrap checks for a matching version of the interface before booting -     * a kernel, to avoid user confusion if kernel and bootstrap don't work -     * together :-) -     * -     * If incompatible changes are made to the bootinfo interface, the major -     * number below should be stepped (and the minor reset to 0) for the -     * appropriate machine. If a change is backward-compatible, the minor -     * should be stepped. "Backwards-compatible" means that booting will work, -     * but certain features may not. -     */ - -#define BOOTINFOV_MAGIC			0x4249561A	/* 'BIV^Z' */ -#define MK_BI_VERSION(major,minor)	(((major)<<16)+(minor)) -#define BI_VERSION_MAJOR(v)		(((v) >> 16) & 0xffff) -#define BI_VERSION_MINOR(v)		((v) & 0xffff) - -#ifndef __ASSEMBLY__ - -struct bootversion { -    unsigned short branch; -    unsigned long magic; -    struct { -	unsigned long machtype; -	unsigned long version; -    } machversions[0]; -}; -  #endif /* __ASSEMBLY__ */ -#define AMIGA_BOOTI_VERSION    MK_BI_VERSION( 2, 0 ) -#define ATARI_BOOTI_VERSION    MK_BI_VERSION( 2, 1 ) -#define MAC_BOOTI_VERSION      MK_BI_VERSION( 2, 0 ) -#define MVME147_BOOTI_VERSION  MK_BI_VERSION( 2, 0 ) -#define MVME16x_BOOTI_VERSION  MK_BI_VERSION( 2, 0 ) -#define BVME6000_BOOTI_VERSION MK_BI_VERSION( 2, 0 ) -#define Q40_BOOTI_VERSION      MK_BI_VERSION( 2, 0 ) -#define HP300_BOOTI_VERSION    MK_BI_VERSION( 2, 0 ) - -#ifdef BOOTINFO_COMPAT_1_0 - -    /* -     *  Backwards compatibility with bootinfo interface version 1.0 -     */ - -#define COMPAT_AMIGA_BOOTI_VERSION    MK_BI_VERSION( 1, 0 ) -#define COMPAT_ATARI_BOOTI_VERSION    MK_BI_VERSION( 1, 0 ) -#define COMPAT_MAC_BOOTI_VERSION      MK_BI_VERSION( 1, 0 ) - -#include <linux/zorro.h> - -#define COMPAT_NUM_AUTO    16 - -struct compat_bi_Amiga { -    int model; -    int num_autocon; -    struct ConfigDev autocon[COMPAT_NUM_AUTO]; -    unsigned long chip_size; -    unsigned char vblank; -    unsigned char psfreq; -    unsigned long eclock; -    unsigned long chipset; -    unsigned long hw_present; -}; - -struct compat_bi_Atari { -    unsigned long hw_present; -    unsigned long mch_cookie; -}; - -#ifndef __ASSEMBLY__ - -struct compat_bi_Macintosh -{ -	unsigned long videoaddr; -	unsigned long videorow; -	unsigned long videodepth; -	unsigned long dimensions; -	unsigned long args; -	unsigned long boottime; -	unsigned long gmtbias; -	unsigned long bootver; -	unsigned long videological; -	unsigned long sccbase; -	unsigned long id; -	unsigned long memsize; -	unsigned long serialmf; -	unsigned long serialhsk; -	unsigned long serialgpi; -	unsigned long printmf; -	unsigned long printhsk; -	unsigned long printgpi; -	unsigned long cpuid; -	unsigned long rombase; -	unsigned long adbdelay; -	unsigned long timedbra; -}; - -#endif - -struct compat_mem_info { -    unsigned long addr; -    unsigned long size; -}; - -#define COMPAT_NUM_MEMINFO  4 - -#define COMPAT_CPUB_68020 0 -#define COMPAT_CPUB_68030 1 -#define COMPAT_CPUB_68040 2 -#define COMPAT_CPUB_68060 3 -#define COMPAT_FPUB_68881 5 -#define COMPAT_FPUB_68882 6 -#define COMPAT_FPUB_68040 7 -#define COMPAT_FPUB_68060 8 - -#define COMPAT_CPU_68020    (1<<COMPAT_CPUB_68020) -#define COMPAT_CPU_68030    (1<<COMPAT_CPUB_68030) -#define COMPAT_CPU_68040    (1<<COMPAT_CPUB_68040) -#define COMPAT_CPU_68060    (1<<COMPAT_CPUB_68060) -#define COMPAT_CPU_MASK     (31) -#define COMPAT_FPU_68881    (1<<COMPAT_FPUB_68881) -#define COMPAT_FPU_68882    (1<<COMPAT_FPUB_68882) -#define COMPAT_FPU_68040    (1<<COMPAT_FPUB_68040) -#define COMPAT_FPU_68060    (1<<COMPAT_FPUB_68060) -#define COMPAT_FPU_MASK     (0xfe0) - -#define COMPAT_CL_SIZE      (256) - -struct compat_bootinfo { -    unsigned long machtype; -    unsigned long cputype; -    struct compat_mem_info memory[COMPAT_NUM_MEMINFO]; -    int num_memory; -    unsigned long ramdisk_size; -    unsigned long ramdisk_addr; -    char command_line[COMPAT_CL_SIZE]; -    union { -	struct compat_bi_Amiga     bi_ami; -	struct compat_bi_Atari     bi_ata; -	struct compat_bi_Macintosh bi_mac; -    } bi_un; -}; - -#define bi_amiga	bi_un.bi_ami -#define bi_atari	bi_un.bi_ata -#define bi_mac		bi_un.bi_mac - -#endif /* BOOTINFO_COMPAT_1_0 */ -  #endif /* _M68K_BOOTINFO_H */ diff --git a/arch/m68k/include/asm/floppy.h b/arch/m68k/include/asm/floppy.h index 697d50393dd..47365b1ccbe 100644 --- a/arch/m68k/include/asm/floppy.h +++ b/arch/m68k/include/asm/floppy.h @@ -85,7 +85,7 @@ static int fd_request_irq(void)  {  	if(MACH_IS_Q40)  		return request_irq(FLOPPY_IRQ, floppy_hardint, -				   IRQF_DISABLED, "floppy", floppy_hardint); +				   0, "floppy", floppy_hardint);  	else if(MACH_IS_SUN3X)  		return sun3xflop_request_irq();  	return -ENXIO; diff --git a/arch/m68k/include/asm/hardirq.h b/arch/m68k/include/asm/hardirq.h index db30ed27687..6c618529d9b 100644 --- a/arch/m68k/include/asm/hardirq.h +++ b/arch/m68k/include/asm/hardirq.h @@ -5,17 +5,6 @@  #include <linux/cache.h>  #include <asm/irq.h> -#define HARDIRQ_BITS	8 - -/* - * The hardirq mask has to be large enough to have - * space for potentially all IRQ sources in the system - * nesting on a single CPU: - */ -#if (1 << HARDIRQ_BITS) < NR_IRQS -# error HARDIRQ_BITS is too low! -#endif -  #ifdef CONFIG_MMU  static inline void ack_bad_irq(unsigned int irq) diff --git a/arch/m68k/include/asm/hp300hw.h b/arch/m68k/include/asm/hp300hw.h index d998ea67c19..64f5271dd7b 100644 --- a/arch/m68k/include/asm/hp300hw.h +++ b/arch/m68k/include/asm/hp300hw.h @@ -1,25 +1,9 @@  #ifndef _M68K_HP300HW_H  #define _M68K_HP300HW_H -extern unsigned long hp300_model; +#include <asm/bootinfo-hp300.h> -/* This information was taken from NetBSD */ -#define	HP_320		(0)	/* 16MHz 68020+HP MMU+16K external cache */ -#define	HP_330		(1)	/* 16MHz 68020+68851 MMU */ -#define	HP_340		(2)	/* 16MHz 68030 */ -#define	HP_345		(3)	/* 50MHz 68030+32K external cache */ -#define	HP_350		(4)	/* 25MHz 68020+HP MMU+32K external cache */ -#define	HP_360		(5)	/* 25MHz 68030 */ -#define	HP_370		(6)	/* 33MHz 68030+64K external cache */ -#define	HP_375		(7)	/* 50MHz 68030+32K external cache */ -#define	HP_380		(8)	/* 25MHz 68040 */ -#define	HP_385		(9)	/* 33MHz 68040 */ -#define	HP_400		(10)	/* 50MHz 68030+32K external cache */ -#define	HP_425T		(11)	/* 25MHz 68040 - model 425t */ -#define	HP_425S		(12)	/* 25MHz 68040 - model 425s */ -#define HP_425E		(13)	/* 25MHz 68040 - model 425e */ -#define HP_433T		(14)	/* 33MHz 68040 - model 433t */ -#define HP_433S		(15)	/* 33MHz 68040 - model 433s */ +extern unsigned long hp300_model;  #endif /* _M68K_HP300HW_H */ diff --git a/arch/m68k/include/asm/io_no.h b/arch/m68k/include/asm/io_no.h index e1534783e94..52f7e849917 100644 --- a/arch/m68k/include/asm/io_no.h +++ b/arch/m68k/include/asm/io_no.h @@ -55,7 +55,7 @@ static inline unsigned int _swapl(volatile unsigned long v)  #define __raw_writew writew  #define __raw_writel writel -static inline void io_outsb(unsigned int addr, void *buf, int len) +static inline void io_outsb(unsigned int addr, const void *buf, int len)  {  	volatile unsigned char *ap = (volatile unsigned char *) addr;  	unsigned char *bp = (unsigned char *) buf; @@ -63,7 +63,7 @@ static inline void io_outsb(unsigned int addr, void *buf, int len)  		*ap = *bp++;  } -static inline void io_outsw(unsigned int addr, void *buf, int len) +static inline void io_outsw(unsigned int addr, const void *buf, int len)  {  	volatile unsigned short *ap = (volatile unsigned short *) addr;  	unsigned short *bp = (unsigned short *) buf; @@ -71,7 +71,7 @@ static inline void io_outsw(unsigned int addr, void *buf, int len)  		*ap = _swapw(*bp++);  } -static inline void io_outsl(unsigned int addr, void *buf, int len) +static inline void io_outsl(unsigned int addr, const void *buf, int len)  {  	volatile unsigned int *ap = (volatile unsigned int *) addr;  	unsigned int *bp = (unsigned int *) buf; diff --git a/arch/m68k/include/asm/kexec.h b/arch/m68k/include/asm/kexec.h new file mode 100644 index 00000000000..3df97abac14 --- /dev/null +++ b/arch/m68k/include/asm/kexec.h @@ -0,0 +1,29 @@ +#ifndef _ASM_M68K_KEXEC_H +#define _ASM_M68K_KEXEC_H + +#ifdef CONFIG_KEXEC + +/* Maximum physical address we can use pages from */ +#define KEXEC_SOURCE_MEMORY_LIMIT (-1UL) +/* Maximum address we can reach in physical address mode */ +#define KEXEC_DESTINATION_MEMORY_LIMIT (-1UL) +/* Maximum address we can use for the control code buffer */ +#define KEXEC_CONTROL_MEMORY_LIMIT (-1UL) + +#define KEXEC_CONTROL_PAGE_SIZE	4096 + +#define KEXEC_ARCH KEXEC_ARCH_68K + +#ifndef __ASSEMBLY__ + +static inline void crash_setup_regs(struct pt_regs *newregs, +				    struct pt_regs *oldregs) +{ +	/* Dummy implementation for now */ +} + +#endif /* __ASSEMBLY__ */ + +#endif /* CONFIG_KEXEC */ + +#endif /* _ASM_M68K_KEXEC_H */ diff --git a/arch/m68k/include/asm/m525xsim.h b/arch/m68k/include/asm/m525xsim.h index e33f5bb6aca..f186459072e 100644 --- a/arch/m68k/include/asm/m525xsim.h +++ b/arch/m68k/include/asm/m525xsim.h @@ -105,7 +105,7 @@  /*   *	QSPI module.   */ -#define MCFQSPI_BASE		(MCF_MBAR + 0x300)	/* Base address QSPI */ +#define MCFQSPI_BASE		(MCF_MBAR + 0x400)	/* Base address QSPI */  #define MCFQSPI_SIZE		0x40			/* Register set size */  #ifdef CONFIG_M5249 diff --git a/arch/m68k/include/asm/m54xxsim.h b/arch/m68k/include/asm/m54xxsim.h index d3bd8388742..a5fbd17ab0a 100644 --- a/arch/m68k/include/asm/m54xxsim.h +++ b/arch/m68k/include/asm/m54xxsim.h @@ -55,9 +55,15 @@  /*   *	Generic GPIO support   */ -#define MCFGPIO_PIN_MAX		0	/* I am too lazy to count */ -#define MCFGPIO_IRQ_MAX		-1 -#define MCFGPIO_IRQ_VECBASE	-1 +#define MCFGPIO_PODR		(MCF_MBAR + 0xA00) +#define MCFGPIO_PDDR		(MCF_MBAR + 0xA10) +#define MCFGPIO_PPDR		(MCF_MBAR + 0xA20) +#define MCFGPIO_SETR		(MCF_MBAR + 0xA20) +#define MCFGPIO_CLRR		(MCF_MBAR + 0xA30) + +#define MCFGPIO_PIN_MAX		136	/* 128 gpio + 8 eport */ +#define MCFGPIO_IRQ_MAX		8 +#define MCFGPIO_IRQ_VECBASE	MCFINT_VECBASE  /*   *	EDGE Port support. diff --git a/arch/m68k/include/asm/mac_via.h b/arch/m68k/include/asm/mac_via.h index aeeedf8b2d2..fe3fc9ae1b6 100644 --- a/arch/m68k/include/asm/mac_via.h +++ b/arch/m68k/include/asm/mac_via.h @@ -254,6 +254,8 @@  extern volatile __u8 *via1,*via2;  extern int rbv_present,via_alt_mapping; +struct irq_desc; +  extern void via_register_interrupts(void);  extern void via_irq_enable(int);  extern void via_irq_disable(int); diff --git a/arch/m68k/include/asm/macintosh.h b/arch/m68k/include/asm/macintosh.h index 682a1a2ff55..d323b2c2d07 100644 --- a/arch/m68k/include/asm/macintosh.h +++ b/arch/m68k/include/asm/macintosh.h @@ -4,6 +4,9 @@  #include <linux/seq_file.h>  #include <linux/interrupt.h> +#include <asm/bootinfo-mac.h> + +  /*   *	Apple Macintoshisms   */ @@ -74,65 +77,29 @@ struct mac_model  #define MAC_FLOPPY_SWIM_IOP	3  #define MAC_FLOPPY_AV		4 -/* - *	Gestalt numbers - */ +extern struct mac_model *macintosh_config; -#define MAC_MODEL_II		6 -#define MAC_MODEL_IIX		7 -#define MAC_MODEL_IICX		8 -#define MAC_MODEL_SE30		9 -#define MAC_MODEL_IICI		11 -#define MAC_MODEL_IIFX		13	/* And well numbered it is too */ -#define MAC_MODEL_IISI		18 -#define MAC_MODEL_LC		19 -#define MAC_MODEL_Q900		20 -#define MAC_MODEL_PB170		21 -#define MAC_MODEL_Q700		22 -#define MAC_MODEL_CLII		23	/* aka: P200 */ -#define MAC_MODEL_PB140		25 -#define MAC_MODEL_Q950		26	/* aka: WGS95 */ -#define MAC_MODEL_LCIII		27	/* aka: P450 */ -#define MAC_MODEL_PB210		29 -#define MAC_MODEL_C650		30 -#define MAC_MODEL_PB230		32 -#define MAC_MODEL_PB180		33 -#define MAC_MODEL_PB160		34 -#define MAC_MODEL_Q800		35	/* aka: WGS80 */ -#define MAC_MODEL_Q650		36 -#define MAC_MODEL_LCII		37	/* aka: P400/405/410/430 */ -#define MAC_MODEL_PB250		38 -#define MAC_MODEL_IIVI		44 -#define MAC_MODEL_P600		45	/* aka: P600CD */ -#define MAC_MODEL_IIVX		48 -#define MAC_MODEL_CCL		49	/* aka: P250 */ -#define MAC_MODEL_PB165C	50 -#define MAC_MODEL_C610		52	/* aka: WGS60 */ -#define MAC_MODEL_Q610		53 -#define MAC_MODEL_PB145		54	/* aka: PB145B */ -#define MAC_MODEL_P520		56	/* aka: LC520 */ -#define MAC_MODEL_C660		60 -#define MAC_MODEL_P460		62	/* aka: LCIII+, P466/P467 */ -#define MAC_MODEL_PB180C	71 -#define MAC_MODEL_PB520		72	/* aka: PB520C, PB540, PB540C, PB550C */ -#define MAC_MODEL_PB270C	77 -#define MAC_MODEL_Q840		78 -#define MAC_MODEL_P550		80	/* aka: LC550, P560 */ -#define MAC_MODEL_CCLII		83	/* aka: P275 */ -#define MAC_MODEL_PB165		84 -#define MAC_MODEL_PB190		85	/* aka: PB190CS */ -#define MAC_MODEL_TV		88 -#define MAC_MODEL_P475		89	/* aka: LC475, P476 */ -#define MAC_MODEL_P475F		90	/* aka: P475 w/ FPU (no LC040) */ -#define MAC_MODEL_P575		92	/* aka: LC575, P577/P578 */ -#define MAC_MODEL_Q605		94 -#define MAC_MODEL_Q605_ACC	95	/* Q605 accelerated to 33 MHz */ -#define MAC_MODEL_Q630		98	/* aka: LC630, P630/631/635/636/637/638/640 */ -#define MAC_MODEL_P588		99	/* aka: LC580, P580 */ -#define MAC_MODEL_PB280		102 -#define MAC_MODEL_PB280C	103 -#define MAC_MODEL_PB150		115 -extern struct mac_model *macintosh_config; +    /* +     * Internal representation of the Mac hardware, filled in from bootinfo +     */ + +struct mac_booter_data +{ +	unsigned long videoaddr; +	unsigned long videorow; +	unsigned long videodepth; +	unsigned long dimensions; +	unsigned long boottime; +	unsigned long gmtbias; +	unsigned long videological; +	unsigned long sccbase; +	unsigned long id; +	unsigned long memsize; +	unsigned long cpuid; +	unsigned long rombase; +}; + +extern struct mac_booter_data mac_bi_data;  #endif diff --git a/arch/m68k/include/asm/mc146818rtc.h b/arch/m68k/include/asm/mc146818rtc.h index 9f70a01f73d..05b43bf5cdf 100644 --- a/arch/m68k/include/asm/mc146818rtc.h +++ b/arch/m68k/include/asm/mc146818rtc.h @@ -10,16 +10,16 @@  #include <asm/atarihw.h> -#define RTC_PORT(x)	(TT_RTC_BAS + 2*(x)) +#define ATARI_RTC_PORT(x)	(TT_RTC_BAS + 2*(x))  #define RTC_ALWAYS_BCD	0  #define CMOS_READ(addr) ({ \ -atari_outb_p((addr),RTC_PORT(0)); \ -atari_inb_p(RTC_PORT(1)); \ +atari_outb_p((addr), ATARI_RTC_PORT(0)); \ +atari_inb_p(ATARI_RTC_PORT(1)); \  })  #define CMOS_WRITE(val, addr) ({ \ -atari_outb_p((addr),RTC_PORT(0)); \ -atari_outb_p((val),RTC_PORT(1)); \ +atari_outb_p((addr), ATARI_RTC_PORT(0)); \ +atari_outb_p((val), ATARI_RTC_PORT(1)); \  })  #endif /* CONFIG_ATARI */ diff --git a/arch/m68k/include/asm/mcf_pgalloc.h b/arch/m68k/include/asm/mcf_pgalloc.h index 313f3dd23cd..f9924fbcfe4 100644 --- a/arch/m68k/include/asm/mcf_pgalloc.h +++ b/arch/m68k/include/asm/mcf_pgalloc.h @@ -56,6 +56,10 @@ static inline struct page *pte_alloc_one(struct mm_struct *mm,  	if (!page)  		return NULL; +	if (!pgtable_page_ctor(page)) { +		__free_page(page); +		return NULL; +	}  	pte = kmap(page);  	if (pte) { diff --git a/arch/m68k/include/asm/mcfgpio.h b/arch/m68k/include/asm/mcfgpio.h index c41ebf45f1d..66203c334c6 100644 --- a/arch/m68k/include/asm/mcfgpio.h +++ b/arch/m68k/include/asm/mcfgpio.h @@ -139,7 +139,8 @@ static inline void gpio_free(unsigned gpio)  #if defined(CONFIG_M520x) || defined(CONFIG_M523x) || \      defined(CONFIG_M527x) || defined(CONFIG_M528x) || \ -    defined(CONFIG_M53xx) || defined(CONFIG_M5441x) +    defined(CONFIG_M53xx) || defined(CONFIG_M54xx) || \ +    defined(CONFIG_M5441x)  /*   * These parts have an 'Edge' Port module (external interrupt/GPIO) which uses   * read-modify-write to change an output and a GPIO module which has separate @@ -195,7 +196,8 @@ static inline u32 __mcfgpio_ppdr(unsigned gpio)  		return MCFSIM2_GPIO1READ;  #elif defined(CONFIG_M520x) || defined(CONFIG_M523x) || \        defined(CONFIG_M527x) || defined(CONFIG_M528x) || \ -      defined(CONFIG_M53xx) || defined(CONFIG_M5441x) +      defined(CONFIG_M53xx) || defined(CONFIG_M54xx) || \ +      defined(CONFIG_M5441x)  #if !defined(CONFIG_M5441x)  	if (gpio < 8)  		return MCFEPORT_EPPDR; @@ -237,7 +239,8 @@ static inline u32 __mcfgpio_podr(unsigned gpio)  		return MCFSIM2_GPIO1WRITE;  #elif defined(CONFIG_M520x) || defined(CONFIG_M523x) || \        defined(CONFIG_M527x) || defined(CONFIG_M528x) || \ -      defined(CONFIG_M53xx) || defined(CONFIG_M5441x) +      defined(CONFIG_M53xx) || defined(CONFIG_M54xx) || \ +      defined(CONFIG_M5441x)  #if !defined(CONFIG_M5441x)  	if (gpio < 8)  		return MCFEPORT_EPDR; @@ -279,7 +282,8 @@ static inline u32 __mcfgpio_pddr(unsigned gpio)  		return MCFSIM2_GPIO1ENABLE;  #elif defined(CONFIG_M520x) || defined(CONFIG_M523x) || \        defined(CONFIG_M527x) || defined(CONFIG_M528x) || \ -      defined(CONFIG_M53xx) || defined(CONFIG_M5441x) +      defined(CONFIG_M53xx) || defined(CONFIG_M54xx) || \ +      defined(CONFIG_M5441x)  #if !defined(CONFIG_M5441x)  	if (gpio < 8)  		return MCFEPORT_EPDDR; diff --git a/arch/m68k/include/asm/motorola_pgalloc.h b/arch/m68k/include/asm/motorola_pgalloc.h index 2f02f264e69..24bcba496c7 100644 --- a/arch/m68k/include/asm/motorola_pgalloc.h +++ b/arch/m68k/include/asm/motorola_pgalloc.h @@ -29,18 +29,22 @@ static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte)  static inline pgtable_t pte_alloc_one(struct mm_struct *mm, unsigned long address)  { -	struct page *page = alloc_pages(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO, 0); +	struct page *page;  	pte_t *pte; +	page = alloc_pages(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO, 0);  	if(!page)  		return NULL; +	if (!pgtable_page_ctor(page)) { +		__free_page(page); +		return NULL; +	}  	pte = kmap(page);  	__flush_page_to_ram(pte);  	flush_tlb_kernel_page(pte);  	nocache_page(pte);  	kunmap(page); -	pgtable_page_ctor(page);  	return page;  } diff --git a/arch/m68k/include/asm/mvme16xhw.h b/arch/m68k/include/asm/mvme16xhw.h index 6117f56653d..1eb89de631e 100644 --- a/arch/m68k/include/asm/mvme16xhw.h +++ b/arch/m68k/include/asm/mvme16xhw.h @@ -3,23 +3,6 @@  #include <asm/irq.h> -/* Board ID data structure - pointer to this retrieved from Bug by head.S */ - -/* Note, bytes 12 and 13 are board no in BCD (0162,0166,0167,0177,etc) */ - -extern long mvme_bdid_ptr; - -typedef struct { -	char	bdid[4]; -	u_char	rev, mth, day, yr; -	u_short	size, reserved; -	u_short	brdno; -	char brdsuffix[2]; -	u_long	options; -	u_short	clun, dlun, ctype, dnum; -	u_long	option2; -} t_bdid, *p_bdid; -  typedef struct {  	u_char	ack_icr, diff --git a/arch/m68k/include/asm/setup.h b/arch/m68k/include/asm/setup.h index 65e78a2dad6..8f2023f8c1c 100644 --- a/arch/m68k/include/asm/setup.h +++ b/arch/m68k/include/asm/setup.h @@ -22,6 +22,7 @@  #ifndef _M68K_SETUP_H  #define _M68K_SETUP_H +#include <uapi/asm/bootinfo.h>  #include <uapi/asm/setup.h> @@ -297,14 +298,14 @@ extern int m68k_is040or060;  #define NUM_MEMINFO	4  #ifndef __ASSEMBLY__ -struct mem_info { +struct m68k_mem_info {  	unsigned long addr;		/* physical address of memory chunk */  	unsigned long size;		/* length of memory chunk (in bytes) */  };  extern int m68k_num_memory;		/* # of memory blocks found (and used) */  extern int m68k_realnum_memory;		/* real # of memory blocks found */ -extern struct mem_info m68k_memory[NUM_MEMINFO];/* memory description */ +extern struct m68k_mem_info m68k_memory[NUM_MEMINFO];/* memory description */  #endif  #endif /* _M68K_SETUP_H */ diff --git a/arch/m68k/include/asm/signal.h b/arch/m68k/include/asm/signal.h index 214320b5038..8c8ce5e1ee0 100644 --- a/arch/m68k/include/asm/signal.h +++ b/arch/m68k/include/asm/signal.h @@ -60,15 +60,6 @@ static inline int __gen_sigismember(sigset_t *set, int _sig)  	 __const_sigismember(set,sig) :		\  	 __gen_sigismember(set,sig)) -static inline int sigfindinword(unsigned long word) -{ -	asm ("bfffo %1{#0,#0},%0" -		: "=d" (word) -		: "d" (word & -word) -		: "cc"); -	return word ^ 31; -} -  #endif /* !CONFIG_CPU_HAS_NO_BITFIELDS */  #ifndef __uClinux__ diff --git a/arch/m68k/include/asm/sun3_pgalloc.h b/arch/m68k/include/asm/sun3_pgalloc.h index 48d80d5a666..f868506e335 100644 --- a/arch/m68k/include/asm/sun3_pgalloc.h +++ b/arch/m68k/include/asm/sun3_pgalloc.h @@ -59,7 +59,10 @@ static inline pgtable_t pte_alloc_one(struct mm_struct *mm,  		return NULL;  	clear_highpage(page); -	pgtable_page_ctor(page); +	if (!pgtable_page_ctor(page)) { +		__free_page(page); +		return NULL; +	}  	return page;  } diff --git a/arch/m68k/include/asm/sun3xflop.h b/arch/m68k/include/asm/sun3xflop.h index 95231e2f9d6..a02ea3a7bb2 100644 --- a/arch/m68k/include/asm/sun3xflop.h +++ b/arch/m68k/include/asm/sun3xflop.h @@ -207,7 +207,7 @@ static int sun3xflop_request_irq(void)  	if(!once) {  		once = 1;  		error = request_irq(FLOPPY_IRQ, sun3xflop_hardint, -				    IRQF_DISABLED, "floppy", NULL); +				    0, "floppy", NULL);  		return ((error == 0) ? 0 : -1);  	} else return 0;  } diff --git a/arch/m68k/include/asm/thread_info.h b/arch/m68k/include/asm/thread_info.h index 126131f94a2..21a4784ca5a 100644 --- a/arch/m68k/include/asm/thread_info.h +++ b/arch/m68k/include/asm/thread_info.h @@ -35,8 +35,6 @@ struct thread_info {  };  #endif /* __ASSEMBLY__ */ -#define PREEMPT_ACTIVE		0x4000000 -  #define INIT_THREAD_INFO(tsk)			\  {						\  	.task		= &tsk,			\ diff --git a/arch/m68k/include/asm/timex.h b/arch/m68k/include/asm/timex.h index 6759dad954f..efc1f489235 100644 --- a/arch/m68k/include/asm/timex.h +++ b/arch/m68k/include/asm/timex.h @@ -28,4 +28,14 @@ static inline cycles_t get_cycles(void)  	return 0;  } +extern unsigned long (*mach_random_get_entropy)(void); + +static inline unsigned long random_get_entropy(void) +{ +	if (mach_random_get_entropy) +		return mach_random_get_entropy(); +	return 0; +} +#define random_get_entropy	random_get_entropy +  #endif diff --git a/arch/m68k/include/asm/uaccess.h b/arch/m68k/include/asm/uaccess.h index 639c731568b..3fadc4a93d9 100644 --- a/arch/m68k/include/asm/uaccess.h +++ b/arch/m68k/include/asm/uaccess.h @@ -3,3 +3,10 @@  #else  #include <asm/uaccess_mm.h>  #endif + +#ifdef CONFIG_CPU_HAS_NO_UNALIGNED +#include <asm-generic/uaccess-unaligned.h> +#else +#define __get_user_unaligned(x, ptr)	__get_user((x), (ptr)) +#define __put_user_unaligned(x, ptr)	__put_user((x), (ptr)) +#endif diff --git a/arch/m68k/include/asm/unistd.h b/arch/m68k/include/asm/unistd.h index 014f288fc81..1fcdd344c7a 100644 --- a/arch/m68k/include/asm/unistd.h +++ b/arch/m68k/include/asm/unistd.h @@ -4,7 +4,7 @@  #include <uapi/asm/unistd.h> -#define NR_syscalls		349 +#define NR_syscalls		352  #define __ARCH_WANT_OLD_READDIR  #define __ARCH_WANT_OLD_STAT @@ -13,7 +13,6 @@  #define __ARCH_WANT_SYS_GETHOSTNAME  #define __ARCH_WANT_SYS_IPC  #define __ARCH_WANT_SYS_PAUSE -#define __ARCH_WANT_SYS_SGETMASK  #define __ARCH_WANT_SYS_SIGNAL  #define __ARCH_WANT_SYS_TIME  #define __ARCH_WANT_SYS_UTIME diff --git a/arch/m68k/include/uapi/asm/Kbuild b/arch/m68k/include/uapi/asm/Kbuild index 1fef45ada09..6a2d257bdfb 100644 --- a/arch/m68k/include/uapi/asm/Kbuild +++ b/arch/m68k/include/uapi/asm/Kbuild @@ -11,6 +11,14 @@ generic-y += termbits.h  generic-y += termios.h  header-y += a.out.h +header-y += bootinfo.h +header-y += bootinfo-amiga.h +header-y += bootinfo-apollo.h +header-y += bootinfo-atari.h +header-y += bootinfo-hp300.h +header-y += bootinfo-mac.h +header-y += bootinfo-q40.h +header-y += bootinfo-vme.h  header-y += byteorder.h  header-y += cachectl.h  header-y += fcntl.h diff --git a/arch/m68k/include/uapi/asm/bootinfo-amiga.h b/arch/m68k/include/uapi/asm/bootinfo-amiga.h new file mode 100644 index 00000000000..daad3c58d2d --- /dev/null +++ b/arch/m68k/include/uapi/asm/bootinfo-amiga.h @@ -0,0 +1,63 @@ +/* +** asm/bootinfo-amiga.h -- Amiga-specific boot information definitions +*/ + +#ifndef _UAPI_ASM_M68K_BOOTINFO_AMIGA_H +#define _UAPI_ASM_M68K_BOOTINFO_AMIGA_H + + +    /* +     *  Amiga-specific tags +     */ + +#define BI_AMIGA_MODEL		0x8000	/* model (__be32) */ +#define BI_AMIGA_AUTOCON	0x8001	/* AutoConfig device */ +					/* (AmigaOS struct ConfigDev) */ +#define BI_AMIGA_CHIP_SIZE	0x8002	/* size of Chip RAM (__be32) */ +#define BI_AMIGA_VBLANK		0x8003	/* VBLANK frequency (__u8) */ +#define BI_AMIGA_PSFREQ		0x8004	/* power supply frequency (__u8) */ +#define BI_AMIGA_ECLOCK		0x8005	/* EClock frequency (__be32) */ +#define BI_AMIGA_CHIPSET	0x8006	/* native chipset present (__be32) */ +#define BI_AMIGA_SERPER		0x8007	/* serial port period (__be16) */ + + +    /* +     *  Amiga models (BI_AMIGA_MODEL) +     */ + +#define AMI_UNKNOWN		0 +#define AMI_500			1 +#define AMI_500PLUS		2 +#define AMI_600			3 +#define AMI_1000		4 +#define AMI_1200		5 +#define AMI_2000		6 +#define AMI_2500		7 +#define AMI_3000		8 +#define AMI_3000T		9 +#define AMI_3000PLUS		10 +#define AMI_4000		11 +#define AMI_4000T		12 +#define AMI_CDTV		13 +#define AMI_CD32		14 +#define AMI_DRACO		15 + + +    /* +     *  Amiga chipsets (BI_AMIGA_CHIPSET) +     */ + +#define CS_STONEAGE		0 +#define CS_OCS			1 +#define CS_ECS			2 +#define CS_AGA			3 + + +    /* +     *  Latest Amiga bootinfo version +     */ + +#define AMIGA_BOOTI_VERSION	MK_BI_VERSION(2, 0) + + +#endif /* _UAPI_ASM_M68K_BOOTINFO_AMIGA_H */ diff --git a/arch/m68k/include/uapi/asm/bootinfo-apollo.h b/arch/m68k/include/uapi/asm/bootinfo-apollo.h new file mode 100644 index 00000000000..a93e0af1c6f --- /dev/null +++ b/arch/m68k/include/uapi/asm/bootinfo-apollo.h @@ -0,0 +1,28 @@ +/* +** asm/bootinfo-apollo.h -- Apollo-specific boot information definitions +*/ + +#ifndef _UAPI_ASM_M68K_BOOTINFO_APOLLO_H +#define _UAPI_ASM_M68K_BOOTINFO_APOLLO_H + + +    /* +     *  Apollo-specific tags +     */ + +#define BI_APOLLO_MODEL		0x8000	/* model (__be32) */ + + +    /* +     *  Apollo models (BI_APOLLO_MODEL) +     */ + +#define APOLLO_UNKNOWN		0 +#define APOLLO_DN3000		1 +#define APOLLO_DN3010		2 +#define APOLLO_DN3500		3 +#define APOLLO_DN4000		4 +#define APOLLO_DN4500		5 + + +#endif /* _UAPI_ASM_M68K_BOOTINFO_APOLLO_H */ diff --git a/arch/m68k/include/uapi/asm/bootinfo-atari.h b/arch/m68k/include/uapi/asm/bootinfo-atari.h new file mode 100644 index 00000000000..a817854049b --- /dev/null +++ b/arch/m68k/include/uapi/asm/bootinfo-atari.h @@ -0,0 +1,44 @@ +/* +** asm/bootinfo-atari.h -- Atari-specific boot information definitions +*/ + +#ifndef _UAPI_ASM_M68K_BOOTINFO_ATARI_H +#define _UAPI_ASM_M68K_BOOTINFO_ATARI_H + + +    /* +     *  Atari-specific tags +     */ + +#define BI_ATARI_MCH_COOKIE	0x8000	/* _MCH cookie from TOS (__be32) */ +#define BI_ATARI_MCH_TYPE	0x8001	/* special machine type (__be32) */ + + +    /* +     *  mch_cookie values (upper word of BI_ATARI_MCH_COOKIE) +     */ + +#define ATARI_MCH_ST		0 +#define ATARI_MCH_STE		1 +#define ATARI_MCH_TT		2 +#define ATARI_MCH_FALCON	3 + + +    /* +     *  Atari machine types (BI_ATARI_MCH_TYPE) +     */ + +#define ATARI_MACH_NORMAL	0	/* no special machine type */ +#define ATARI_MACH_MEDUSA	1	/* Medusa 040 */ +#define ATARI_MACH_HADES	2	/* Hades 040 or 060 */ +#define ATARI_MACH_AB40		3	/* Afterburner040 on Falcon */ + + +    /* +     *  Latest Atari bootinfo version +     */ + +#define ATARI_BOOTI_VERSION	MK_BI_VERSION(2, 1) + + +#endif /* _UAPI_ASM_M68K_BOOTINFO_ATARI_H */ diff --git a/arch/m68k/include/uapi/asm/bootinfo-hp300.h b/arch/m68k/include/uapi/asm/bootinfo-hp300.h new file mode 100644 index 00000000000..c90cb71ed89 --- /dev/null +++ b/arch/m68k/include/uapi/asm/bootinfo-hp300.h @@ -0,0 +1,50 @@ +/* +** asm/bootinfo-hp300.h -- HP9000/300-specific boot information definitions +*/ + +#ifndef _UAPI_ASM_M68K_BOOTINFO_HP300_H +#define _UAPI_ASM_M68K_BOOTINFO_HP300_H + + +    /* +     *  HP9000/300-specific tags +     */ + +#define BI_HP300_MODEL		0x8000	/* model (__be32) */ +#define BI_HP300_UART_SCODE	0x8001	/* UART select code (__be32) */ +#define BI_HP300_UART_ADDR	0x8002	/* phys. addr of UART (__be32) */ + + +    /* +     *  HP9000/300 and /400 models (BI_HP300_MODEL) +     * +     * This information was taken from NetBSD +     */ + +#define HP_320		0	/* 16MHz 68020+HP MMU+16K external cache */ +#define HP_330		1	/* 16MHz 68020+68851 MMU */ +#define HP_340		2	/* 16MHz 68030 */ +#define HP_345		3	/* 50MHz 68030+32K external cache */ +#define HP_350		4	/* 25MHz 68020+HP MMU+32K external cache */ +#define HP_360		5	/* 25MHz 68030 */ +#define HP_370		6	/* 33MHz 68030+64K external cache */ +#define HP_375		7	/* 50MHz 68030+32K external cache */ +#define HP_380		8	/* 25MHz 68040 */ +#define HP_385		9	/* 33MHz 68040 */ + +#define HP_400		10	/* 50MHz 68030+32K external cache */ +#define HP_425T		11	/* 25MHz 68040 - model 425t */ +#define HP_425S		12	/* 25MHz 68040 - model 425s */ +#define HP_425E		13	/* 25MHz 68040 - model 425e */ +#define HP_433T		14	/* 33MHz 68040 - model 433t */ +#define HP_433S		15	/* 33MHz 68040 - model 433s */ + + +    /* +     *  Latest HP9000/300 bootinfo version +     */ + +#define HP300_BOOTI_VERSION	MK_BI_VERSION(2, 0) + + +#endif /* _UAPI_ASM_M68K_BOOTINFO_HP300_H */ diff --git a/arch/m68k/include/uapi/asm/bootinfo-mac.h b/arch/m68k/include/uapi/asm/bootinfo-mac.h new file mode 100644 index 00000000000..b44ff73898a --- /dev/null +++ b/arch/m68k/include/uapi/asm/bootinfo-mac.h @@ -0,0 +1,119 @@ +/* +** asm/bootinfo-mac.h -- Macintosh-specific boot information definitions +*/ + +#ifndef _UAPI_ASM_M68K_BOOTINFO_MAC_H +#define _UAPI_ASM_M68K_BOOTINFO_MAC_H + + +    /* +     *  Macintosh-specific tags (all __be32) +     */ + +#define BI_MAC_MODEL		0x8000	/* Mac Gestalt ID (model type) */ +#define BI_MAC_VADDR		0x8001	/* Mac video base address */ +#define BI_MAC_VDEPTH		0x8002	/* Mac video depth */ +#define BI_MAC_VROW		0x8003	/* Mac video rowbytes */ +#define BI_MAC_VDIM		0x8004	/* Mac video dimensions */ +#define BI_MAC_VLOGICAL		0x8005	/* Mac video logical base */ +#define BI_MAC_SCCBASE		0x8006	/* Mac SCC base address */ +#define BI_MAC_BTIME		0x8007	/* Mac boot time */ +#define BI_MAC_GMTBIAS		0x8008	/* Mac GMT timezone offset */ +#define BI_MAC_MEMSIZE		0x8009	/* Mac RAM size (sanity check) */ +#define BI_MAC_CPUID		0x800a	/* Mac CPU type (sanity check) */ +#define BI_MAC_ROMBASE		0x800b	/* Mac system ROM base address */ + + +    /* +     *  Macintosh hardware profile data - unused, see macintosh.h for +     *  reasonable type values +     */ + +#define BI_MAC_VIA1BASE		0x8010	/* Mac VIA1 base address (always present) */ +#define BI_MAC_VIA2BASE		0x8011	/* Mac VIA2 base address (type varies) */ +#define BI_MAC_VIA2TYPE		0x8012	/* Mac VIA2 type (VIA, RBV, OSS) */ +#define BI_MAC_ADBTYPE		0x8013	/* Mac ADB interface type */ +#define BI_MAC_ASCBASE		0x8014	/* Mac Apple Sound Chip base address */ +#define BI_MAC_SCSI5380		0x8015	/* Mac NCR 5380 SCSI (base address, multi) */ +#define BI_MAC_SCSIDMA		0x8016	/* Mac SCSI DMA (base address) */ +#define BI_MAC_SCSI5396		0x8017	/* Mac NCR 53C96 SCSI (base address, multi) */ +#define BI_MAC_IDETYPE		0x8018	/* Mac IDE interface type */ +#define BI_MAC_IDEBASE		0x8019	/* Mac IDE interface base address */ +#define BI_MAC_NUBUS		0x801a	/* Mac Nubus type (none, regular, pseudo) */ +#define BI_MAC_SLOTMASK		0x801b	/* Mac Nubus slots present */ +#define BI_MAC_SCCTYPE		0x801c	/* Mac SCC serial type (normal, IOP) */ +#define BI_MAC_ETHTYPE		0x801d	/* Mac builtin ethernet type (Sonic, MACE */ +#define BI_MAC_ETHBASE		0x801e	/* Mac builtin ethernet base address */ +#define BI_MAC_PMU		0x801f	/* Mac power management / poweroff hardware */ +#define BI_MAC_IOP_SWIM		0x8020	/* Mac SWIM floppy IOP */ +#define BI_MAC_IOP_ADB		0x8021	/* Mac ADB IOP */ + + +    /* +     * Macintosh Gestalt numbers (BI_MAC_MODEL) +     */ + +#define MAC_MODEL_II		6 +#define MAC_MODEL_IIX		7 +#define MAC_MODEL_IICX		8 +#define MAC_MODEL_SE30		9 +#define MAC_MODEL_IICI		11 +#define MAC_MODEL_IIFX		13	/* And well numbered it is too */ +#define MAC_MODEL_IISI		18 +#define MAC_MODEL_LC		19 +#define MAC_MODEL_Q900		20 +#define MAC_MODEL_PB170		21 +#define MAC_MODEL_Q700		22 +#define MAC_MODEL_CLII		23	/* aka: P200 */ +#define MAC_MODEL_PB140		25 +#define MAC_MODEL_Q950		26	/* aka: WGS95 */ +#define MAC_MODEL_LCIII		27	/* aka: P450 */ +#define MAC_MODEL_PB210		29 +#define MAC_MODEL_C650		30 +#define MAC_MODEL_PB230		32 +#define MAC_MODEL_PB180		33 +#define MAC_MODEL_PB160		34 +#define MAC_MODEL_Q800		35	/* aka: WGS80 */ +#define MAC_MODEL_Q650		36 +#define MAC_MODEL_LCII		37	/* aka: P400/405/410/430 */ +#define MAC_MODEL_PB250		38 +#define MAC_MODEL_IIVI		44 +#define MAC_MODEL_P600		45	/* aka: P600CD */ +#define MAC_MODEL_IIVX		48 +#define MAC_MODEL_CCL		49	/* aka: P250 */ +#define MAC_MODEL_PB165C	50 +#define MAC_MODEL_C610		52	/* aka: WGS60 */ +#define MAC_MODEL_Q610		53 +#define MAC_MODEL_PB145		54	/* aka: PB145B */ +#define MAC_MODEL_P520		56	/* aka: LC520 */ +#define MAC_MODEL_C660		60 +#define MAC_MODEL_P460		62	/* aka: LCIII+, P466/P467 */ +#define MAC_MODEL_PB180C	71 +#define MAC_MODEL_PB520		72	/* aka: PB520C, PB540, PB540C, PB550C */ +#define MAC_MODEL_PB270C	77 +#define MAC_MODEL_Q840		78 +#define MAC_MODEL_P550		80	/* aka: LC550, P560 */ +#define MAC_MODEL_CCLII		83	/* aka: P275 */ +#define MAC_MODEL_PB165		84 +#define MAC_MODEL_PB190		85	/* aka: PB190CS */ +#define MAC_MODEL_TV		88 +#define MAC_MODEL_P475		89	/* aka: LC475, P476 */ +#define MAC_MODEL_P475F		90	/* aka: P475 w/ FPU (no LC040) */ +#define MAC_MODEL_P575		92	/* aka: LC575, P577/P578 */ +#define MAC_MODEL_Q605		94 +#define MAC_MODEL_Q605_ACC	95	/* Q605 accelerated to 33 MHz */ +#define MAC_MODEL_Q630		98	/* aka: LC630, P630/631/635/636/637/638/640 */ +#define MAC_MODEL_P588		99	/* aka: LC580, P580 */ +#define MAC_MODEL_PB280		102 +#define MAC_MODEL_PB280C	103 +#define MAC_MODEL_PB150		115 + + +    /* +     *  Latest Macintosh bootinfo version +     */ + +#define MAC_BOOTI_VERSION	MK_BI_VERSION(2, 0) + + +#endif /* _UAPI_ASM_M68K_BOOTINFO_MAC_H */ diff --git a/arch/m68k/include/uapi/asm/bootinfo-q40.h b/arch/m68k/include/uapi/asm/bootinfo-q40.h new file mode 100644 index 00000000000..c79fea7e555 --- /dev/null +++ b/arch/m68k/include/uapi/asm/bootinfo-q40.h @@ -0,0 +1,16 @@ +/* +** asm/bootinfo-q40.h -- Q40-specific boot information definitions +*/ + +#ifndef _UAPI_ASM_M68K_BOOTINFO_Q40_H +#define _UAPI_ASM_M68K_BOOTINFO_Q40_H + + +    /* +     *  Latest Q40 bootinfo version +     */ + +#define Q40_BOOTI_VERSION	MK_BI_VERSION(2, 0) + + +#endif /* _UAPI_ASM_M68K_BOOTINFO_Q40_H */ diff --git a/arch/m68k/include/uapi/asm/bootinfo-vme.h b/arch/m68k/include/uapi/asm/bootinfo-vme.h new file mode 100644 index 00000000000..a135eb41d67 --- /dev/null +++ b/arch/m68k/include/uapi/asm/bootinfo-vme.h @@ -0,0 +1,70 @@ +/* +** asm/bootinfo-vme.h -- VME-specific boot information definitions +*/ + +#ifndef _UAPI_ASM_M68K_BOOTINFO_VME_H +#define _UAPI_ASM_M68K_BOOTINFO_VME_H + + +#include <linux/types.h> + + +    /* +     *  VME-specific tags +     */ + +#define BI_VME_TYPE		0x8000	/* VME sub-architecture (__be32) */ +#define BI_VME_BRDINFO		0x8001	/* VME board information (struct) */ + + +    /* +     *  VME models (BI_VME_TYPE) +     */ + +#define VME_TYPE_TP34V		0x0034	/* Tadpole TP34V */ +#define VME_TYPE_MVME147	0x0147	/* Motorola MVME147 */ +#define VME_TYPE_MVME162	0x0162	/* Motorola MVME162 */ +#define VME_TYPE_MVME166	0x0166	/* Motorola MVME166 */ +#define VME_TYPE_MVME167	0x0167	/* Motorola MVME167 */ +#define VME_TYPE_MVME172	0x0172	/* Motorola MVME172 */ +#define VME_TYPE_MVME177	0x0177	/* Motorola MVME177 */ +#define VME_TYPE_BVME4000	0x4000	/* BVM Ltd. BVME4000 */ +#define VME_TYPE_BVME6000	0x6000	/* BVM Ltd. BVME6000 */ + + +#ifndef __ASSEMBLY__ + +/* + * Board ID data structure - pointer to this retrieved from Bug by head.S + * + * BI_VME_BRDINFO is a 32 byte struct as returned by the Bug code on + * Motorola VME boards.  Contains board number, Bug version, board + * configuration options, etc. + * + * Note, bytes 12 and 13 are board no in BCD (0162,0166,0167,0177,etc) + */ + +typedef struct { +	char	bdid[4]; +	__u8	rev, mth, day, yr; +	__be16	size, reserved; +	__be16	brdno; +	char	brdsuffix[2]; +	__be32	options; +	__be16	clun, dlun, ctype, dnum; +	__be32	option2; +} t_bdid, *p_bdid; + +#endif /* __ASSEMBLY__ */ + + +    /* +     *  Latest VME bootinfo versions +     */ + +#define MVME147_BOOTI_VERSION	MK_BI_VERSION(2, 0) +#define MVME16x_BOOTI_VERSION	MK_BI_VERSION(2, 0) +#define BVME6000_BOOTI_VERSION	MK_BI_VERSION(2, 0) + + +#endif /* _UAPI_ASM_M68K_BOOTINFO_VME_H */ diff --git a/arch/m68k/include/uapi/asm/bootinfo.h b/arch/m68k/include/uapi/asm/bootinfo.h new file mode 100644 index 00000000000..cdeb26a015b --- /dev/null +++ b/arch/m68k/include/uapi/asm/bootinfo.h @@ -0,0 +1,174 @@ +/* + * asm/bootinfo.h -- Definition of the Linux/m68k boot information structure + * + * Copyright 1992 by Greg Harp + * + * 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. + */ + +#ifndef _UAPI_ASM_M68K_BOOTINFO_H +#define _UAPI_ASM_M68K_BOOTINFO_H + + +#include <linux/types.h> + + +#ifndef __ASSEMBLY__ + +    /* +     *  Bootinfo definitions +     * +     *  This is an easily parsable and extendable structure containing all +     *  information to be passed from the bootstrap to the kernel. +     * +     *  This way I hope to keep all future changes back/forewards compatible. +     *  Thus, keep your fingers crossed... +     * +     *  This structure is copied right after the kernel by the bootstrap +     *  routine. +     */ + +struct bi_record { +	__be16 tag;			/* tag ID */ +	__be16 size;			/* size of record (in bytes) */ +	__be32 data[0];			/* data */ +}; + + +struct mem_info { +	__be32 addr;			/* physical address of memory chunk */ +	__be32 size;			/* length of memory chunk (in bytes) */ +}; + +#endif /* __ASSEMBLY__ */ + + +    /* +     *  Tag Definitions +     * +     *  Machine independent tags start counting from 0x0000 +     *  Machine dependent tags start counting from 0x8000 +     */ + +#define BI_LAST			0x0000	/* last record (sentinel) */ +#define BI_MACHTYPE		0x0001	/* machine type (__be32) */ +#define BI_CPUTYPE		0x0002	/* cpu type (__be32) */ +#define BI_FPUTYPE		0x0003	/* fpu type (__be32) */ +#define BI_MMUTYPE		0x0004	/* mmu type (__be32) */ +#define BI_MEMCHUNK		0x0005	/* memory chunk address and size */ +					/* (struct mem_info) */ +#define BI_RAMDISK		0x0006	/* ramdisk address and size */ +					/* (struct mem_info) */ +#define BI_COMMAND_LINE		0x0007	/* kernel command line parameters */ +					/* (string) */ + + +    /* +     *  Linux/m68k Architectures (BI_MACHTYPE) +     */ + +#define MACH_AMIGA		1 +#define MACH_ATARI		2 +#define MACH_MAC		3 +#define MACH_APOLLO		4 +#define MACH_SUN3		5 +#define MACH_MVME147		6 +#define MACH_MVME16x		7 +#define MACH_BVME6000		8 +#define MACH_HP300		9 +#define MACH_Q40		10 +#define MACH_SUN3X		11 +#define MACH_M54XX		12 + + +    /* +     *  CPU, FPU and MMU types (BI_CPUTYPE, BI_FPUTYPE, BI_MMUTYPE) +     * +     *  Note: we may rely on the following equalities: +     * +     *      CPU_68020 == MMU_68851 +     *      CPU_68030 == MMU_68030 +     *      CPU_68040 == FPU_68040 == MMU_68040 +     *      CPU_68060 == FPU_68060 == MMU_68060 +     */ + +#define CPUB_68020		0 +#define CPUB_68030		1 +#define CPUB_68040		2 +#define CPUB_68060		3 +#define CPUB_COLDFIRE		4 + +#define CPU_68020		(1 << CPUB_68020) +#define CPU_68030		(1 << CPUB_68030) +#define CPU_68040		(1 << CPUB_68040) +#define CPU_68060		(1 << CPUB_68060) +#define CPU_COLDFIRE		(1 << CPUB_COLDFIRE) + +#define FPUB_68881		0 +#define FPUB_68882		1 +#define FPUB_68040		2	/* Internal FPU */ +#define FPUB_68060		3	/* Internal FPU */ +#define FPUB_SUNFPA		4	/* Sun-3 FPA */ +#define FPUB_COLDFIRE		5	/* ColdFire FPU */ + +#define FPU_68881		(1 << FPUB_68881) +#define FPU_68882		(1 << FPUB_68882) +#define FPU_68040		(1 << FPUB_68040) +#define FPU_68060		(1 << FPUB_68060) +#define FPU_SUNFPA		(1 << FPUB_SUNFPA) +#define FPU_COLDFIRE		(1 << FPUB_COLDFIRE) + +#define MMUB_68851		0 +#define MMUB_68030		1	/* Internal MMU */ +#define MMUB_68040		2	/* Internal MMU */ +#define MMUB_68060		3	/* Internal MMU */ +#define MMUB_APOLLO		4	/* Custom Apollo */ +#define MMUB_SUN3		5	/* Custom Sun-3 */ +#define MMUB_COLDFIRE		6	/* Internal MMU */ + +#define MMU_68851		(1 << MMUB_68851) +#define MMU_68030		(1 << MMUB_68030) +#define MMU_68040		(1 << MMUB_68040) +#define MMU_68060		(1 << MMUB_68060) +#define MMU_SUN3		(1 << MMUB_SUN3) +#define MMU_APOLLO		(1 << MMUB_APOLLO) +#define MMU_COLDFIRE		(1 << MMUB_COLDFIRE) + + +    /* +     * Stuff for bootinfo interface versioning +     * +     * At the start of kernel code, a 'struct bootversion' is located. +     * bootstrap checks for a matching version of the interface before booting +     * a kernel, to avoid user confusion if kernel and bootstrap don't work +     * together :-) +     * +     * If incompatible changes are made to the bootinfo interface, the major +     * number below should be stepped (and the minor reset to 0) for the +     * appropriate machine. If a change is backward-compatible, the minor +     * should be stepped. "Backwards-compatible" means that booting will work, +     * but certain features may not. +     */ + +#define BOOTINFOV_MAGIC			0x4249561A	/* 'BIV^Z' */ +#define MK_BI_VERSION(major, minor)	(((major) << 16) + (minor)) +#define BI_VERSION_MAJOR(v)		(((v) >> 16) & 0xffff) +#define BI_VERSION_MINOR(v)		((v) & 0xffff) + +#ifndef __ASSEMBLY__ + +struct bootversion { +	__be16 branch; +	__be32 magic; +	struct { +		__be32 machtype; +		__be32 version; +	} machversions[0]; +} __packed; + +#endif /* __ASSEMBLY__ */ + + +#endif /* _UAPI_ASM_M68K_BOOTINFO_H */ diff --git a/arch/m68k/include/uapi/asm/setup.h b/arch/m68k/include/uapi/asm/setup.h index 85579bff455..6a6dc636761 100644 --- a/arch/m68k/include/uapi/asm/setup.h +++ b/arch/m68k/include/uapi/asm/setup.h @@ -6,98 +6,11 @@  ** 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. -** -** Created 09/29/92 by Greg Harp -** -** 5/2/94 Roman Hodek: -**   Added bi_atari part of the machine dependent union bi_un; for now it -**   contains just a model field to distinguish between TT and Falcon. -** 26/7/96 Roman Zippel: -**   Renamed to setup.h; added some useful macros to allow gcc some -**   optimizations if possible. -** 5/10/96 Geert Uytterhoeven: -**   Redesign of the boot information structure; moved boot information -**   structure to bootinfo.h  */  #ifndef _UAPI_M68K_SETUP_H  #define _UAPI_M68K_SETUP_H - - -    /* -     *  Linux/m68k Architectures -     */ - -#define MACH_AMIGA    1 -#define MACH_ATARI    2 -#define MACH_MAC      3 -#define MACH_APOLLO   4 -#define MACH_SUN3     5 -#define MACH_MVME147  6 -#define MACH_MVME16x  7 -#define MACH_BVME6000 8 -#define MACH_HP300    9 -#define MACH_Q40     10 -#define MACH_SUN3X   11 -#define MACH_M54XX   12 -  #define COMMAND_LINE_SIZE 256 - - -    /* -     *  CPU, FPU and MMU types -     * -     *  Note: we may rely on the following equalities: -     * -     *      CPU_68020 == MMU_68851 -     *      CPU_68030 == MMU_68030 -     *      CPU_68040 == FPU_68040 == MMU_68040 -     *      CPU_68060 == FPU_68060 == MMU_68060 -     */ - -#define CPUB_68020     0 -#define CPUB_68030     1 -#define CPUB_68040     2 -#define CPUB_68060     3 -#define CPUB_COLDFIRE  4 - -#define CPU_68020      (1<<CPUB_68020) -#define CPU_68030      (1<<CPUB_68030) -#define CPU_68040      (1<<CPUB_68040) -#define CPU_68060      (1<<CPUB_68060) -#define CPU_COLDFIRE   (1<<CPUB_COLDFIRE) - -#define FPUB_68881     0 -#define FPUB_68882     1 -#define FPUB_68040     2                       /* Internal FPU */ -#define FPUB_68060     3                       /* Internal FPU */ -#define FPUB_SUNFPA    4                       /* Sun-3 FPA */ -#define FPUB_COLDFIRE  5                       /* ColdFire FPU */ - -#define FPU_68881      (1<<FPUB_68881) -#define FPU_68882      (1<<FPUB_68882) -#define FPU_68040      (1<<FPUB_68040) -#define FPU_68060      (1<<FPUB_68060) -#define FPU_SUNFPA     (1<<FPUB_SUNFPA) -#define FPU_COLDFIRE   (1<<FPUB_COLDFIRE) - -#define MMUB_68851     0 -#define MMUB_68030     1                       /* Internal MMU */ -#define MMUB_68040     2                       /* Internal MMU */ -#define MMUB_68060     3                       /* Internal MMU */ -#define MMUB_APOLLO    4                       /* Custom Apollo */ -#define MMUB_SUN3      5                       /* Custom Sun-3 */ -#define MMUB_COLDFIRE  6                       /* Internal MMU */ - -#define MMU_68851      (1<<MMUB_68851) -#define MMU_68030      (1<<MMUB_68030) -#define MMU_68040      (1<<MMUB_68040) -#define MMU_68060      (1<<MMUB_68060) -#define MMU_SUN3       (1<<MMUB_SUN3) -#define MMU_APOLLO     (1<<MMUB_APOLLO) -#define MMU_COLDFIRE   (1<<MMUB_COLDFIRE) - -  #endif /* _UAPI_M68K_SETUP_H */ diff --git a/arch/m68k/include/uapi/asm/unistd.h b/arch/m68k/include/uapi/asm/unistd.h index 625f321001d..9cd82fbc781 100644 --- a/arch/m68k/include/uapi/asm/unistd.h +++ b/arch/m68k/include/uapi/asm/unistd.h @@ -354,5 +354,8 @@  #define __NR_process_vm_writev	346  #define __NR_kcmp		347  #define __NR_finit_module	348 +#define __NR_sched_setattr	349 +#define __NR_sched_getattr	350 +#define __NR_renameat2		351  #endif /* _UAPI_ASM_M68K_UNISTD_H_ */ diff --git a/arch/m68k/kernel/Makefile b/arch/m68k/kernel/Makefile index 655347d8078..e47778f8588 100644 --- a/arch/m68k/kernel/Makefile +++ b/arch/m68k/kernel/Makefile @@ -22,3 +22,8 @@ obj-$(CONFIG_PCI) += pcibios.o  obj-$(CONFIG_HAS_DMA)	+= dma.o +obj-$(CONFIG_KEXEC)		+= machine_kexec.o relocate_kernel.o +obj-$(CONFIG_BOOTINFO_PROC)	+= bootinfo_proc.o + +obj-$(CONFIG_EARLY_PRINTK)	+= early_printk.o + diff --git a/arch/m68k/kernel/asm-offsets.c b/arch/m68k/kernel/asm-offsets.c index 8b7b2284636..3a386341aa6 100644 --- a/arch/m68k/kernel/asm-offsets.c +++ b/arch/m68k/kernel/asm-offsets.c @@ -98,6 +98,9 @@ int main(void)  	DEFINE(CIABBASE, &ciab);  	DEFINE(C_PRA, offsetof(struct CIA, pra));  	DEFINE(ZTWOBASE, zTwoBase); + +	/* enum m68k_fixup_type */ +	DEFINE(M68K_FIXUP_MEMOFFSET, m68k_fixup_memoffset);  #endif  	return 0; diff --git a/arch/m68k/kernel/bootinfo_proc.c b/arch/m68k/kernel/bootinfo_proc.c new file mode 100644 index 00000000000..7ee853e1432 --- /dev/null +++ b/arch/m68k/kernel/bootinfo_proc.c @@ -0,0 +1,80 @@ +/* + * Based on arch/arm/kernel/atags_proc.c + */ + +#include <linux/fs.h> +#include <linux/init.h> +#include <linux/printk.h> +#include <linux/proc_fs.h> +#include <linux/slab.h> +#include <linux/string.h> + +#include <asm/bootinfo.h> +#include <asm/byteorder.h> + + +static char bootinfo_tmp[1536] __initdata; + +static void *bootinfo_copy; +static size_t bootinfo_size; + +static ssize_t bootinfo_read(struct file *file, char __user *buf, +			  size_t count, loff_t *ppos) +{ +	return simple_read_from_buffer(buf, count, ppos, bootinfo_copy, +				       bootinfo_size); +} + +static const struct file_operations bootinfo_fops = { +	.read = bootinfo_read, +	.llseek = default_llseek, +}; + +void __init save_bootinfo(const struct bi_record *bi) +{ +	const void *start = bi; +	size_t size = sizeof(bi->tag); + +	while (be16_to_cpu(bi->tag) != BI_LAST) { +		uint16_t n = be16_to_cpu(bi->size); +		size += n; +		bi = (struct bi_record *)((unsigned long)bi + n); +	} + +	if (size > sizeof(bootinfo_tmp)) { +		pr_err("Cannot save %zu bytes of bootinfo\n", size); +		return; +	} + +	pr_info("Saving %zu bytes of bootinfo\n", size); +	memcpy(bootinfo_tmp, start, size); +	bootinfo_size = size; +} + +static int __init init_bootinfo_procfs(void) +{ +	/* +	 * This cannot go into save_bootinfo() because kmalloc and proc don't +	 * work yet when it is called. +	 */ +	struct proc_dir_entry *pde; + +	if (!bootinfo_size) +		return -EINVAL; + +	bootinfo_copy = kmalloc(bootinfo_size, GFP_KERNEL); +	if (!bootinfo_copy) +		return -ENOMEM; + +	memcpy(bootinfo_copy, bootinfo_tmp, bootinfo_size); + +	pde = proc_create_data("bootinfo", 0400, NULL, &bootinfo_fops, NULL); +	if (!pde) { +		kfree(bootinfo_copy); +		return -ENOMEM; +	} + +	return 0; +} + +arch_initcall(init_bootinfo_procfs); diff --git a/arch/m68k/kernel/early_printk.c b/arch/m68k/kernel/early_printk.c new file mode 100644 index 00000000000..ff9708d7192 --- /dev/null +++ b/arch/m68k/kernel/early_printk.c @@ -0,0 +1,67 @@ +/* + * 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) 2014 Finn Thain + */ + +#include <linux/kernel.h> +#include <linux/console.h> +#include <linux/init.h> +#include <linux/string.h> +#include <asm/setup.h> + +extern void mvme16x_cons_write(struct console *co, +			       const char *str, unsigned count); + +asmlinkage void __init debug_cons_nputs(const char *s, unsigned n); + +static void __ref debug_cons_write(struct console *c, +				   const char *s, unsigned n) +{ +#if !(defined(CONFIG_SUN3)   || defined(CONFIG_M68360) || \ +      defined(CONFIG_M68000) || defined(CONFIG_COLDFIRE)) +	if (MACH_IS_MVME16x) +		mvme16x_cons_write(c, s, n); +	else +		debug_cons_nputs(s, n); +#endif +} + +static struct console early_console_instance = { +	.name  = "debug", +	.write = debug_cons_write, +	.flags = CON_PRINTBUFFER | CON_BOOT, +	.index = -1 +}; + +static int __init setup_early_printk(char *buf) +{ +	if (early_console || buf) +		return 0; + +	early_console = &early_console_instance; +	register_console(early_console); + +	return 0; +} +early_param("earlyprintk", setup_early_printk); + +/* + * debug_cons_nputs() defined in arch/m68k/kernel/head.S cannot be called + * after init sections are discarded (for platforms that use it). + */ +#if !(defined(CONFIG_SUN3)   || defined(CONFIG_M68360) || \ +      defined(CONFIG_M68000) || defined(CONFIG_COLDFIRE)) + +static int __init unregister_early_console(void) +{ +	if (!early_console || MACH_IS_MVME16x) +		return 0; + +	return unregister_console(early_console); +} +late_initcall(unregister_early_console); + +#endif diff --git a/arch/m68k/kernel/entry.S b/arch/m68k/kernel/entry.S index a78f5649e8d..b54ac7aba85 100644 --- a/arch/m68k/kernel/entry.S +++ b/arch/m68k/kernel/entry.S @@ -45,7 +45,7 @@  .globl system_call, buserr, trap, resume  .globl sys_call_table  .globl __sys_fork, __sys_clone, __sys_vfork -.globl ret_from_interrupt, bad_interrupt +.globl bad_interrupt  .globl auto_irqhandler_fixup  .globl user_irqvec_fixup @@ -275,8 +275,6 @@ do_delayed_trace:  ENTRY(auto_inthandler)  	SAVE_ALL_INT  	GET_CURRENT(%d0) -	movel	%d0,%a1 -	addqb	#1,%a1@(TINFO_PREEMPT+1)  					|  put exception # in d0  	bfextu	%sp@(PT_OFF_FORMATVEC){#4,#10},%d0  	subw	#VEC_SPUR,%d0 @@ -286,32 +284,13 @@ ENTRY(auto_inthandler)  auto_irqhandler_fixup = . + 2  	jsr	do_IRQ			|  process the IRQ  	addql	#8,%sp			|  pop parameters off stack - -ret_from_interrupt: -	movel	%curptr@(TASK_STACK),%a1 -	subqb	#1,%a1@(TINFO_PREEMPT+1) -	jeq	ret_from_last_interrupt -2:	RESTORE_ALL - -	ALIGN -ret_from_last_interrupt: -	moveq	#(~ALLOWINT>>8)&0xff,%d0 -	andb	%sp@(PT_OFF_SR),%d0 -	jne	2b - -	/* check if we need to do software interrupts */ -	tstl	irq_stat+CPUSTAT_SOFTIRQ_PENDING -	jeq	.Lret_from_exception -	pea	ret_from_exception -	jra	do_softirq +	jra	ret_from_exception  /* Handler for user defined interrupt vectors */  ENTRY(user_inthandler)  	SAVE_ALL_INT  	GET_CURRENT(%d0) -	movel	%d0,%a1 -	addqb	#1,%a1@(TINFO_PREEMPT+1)  					|  put exception # in d0  	bfextu	%sp@(PT_OFF_FORMATVEC){#4,#10},%d0  user_irqvec_fixup = . + 2 @@ -321,29 +300,18 @@ user_irqvec_fixup = . + 2  	movel	%d0,%sp@-		|  put vector # on stack  	jsr	do_IRQ			|  process the IRQ  	addql	#8,%sp			|  pop parameters off stack - -	movel	%curptr@(TASK_STACK),%a1 -	subqb	#1,%a1@(TINFO_PREEMPT+1) -	jeq	ret_from_last_interrupt -	RESTORE_ALL +	jra	ret_from_exception  /* Handler for uninitialized and spurious interrupts */  ENTRY(bad_inthandler)  	SAVE_ALL_INT  	GET_CURRENT(%d0) -	movel	%d0,%a1 -	addqb	#1,%a1@(TINFO_PREEMPT+1)  	movel	%sp,%sp@-  	jsr	handle_badint  	addql	#4,%sp - -	movel	%curptr@(TASK_STACK),%a1 -	subqb	#1,%a1@(TINFO_PREEMPT+1) -	jeq	ret_from_last_interrupt -	RESTORE_ALL - +	jra	ret_from_exception  resume:  	/* diff --git a/arch/m68k/kernel/head.S b/arch/m68k/kernel/head.S index ac85f16534a..a54788458ca 100644 --- a/arch/m68k/kernel/head.S +++ b/arch/m68k/kernel/head.S @@ -23,7 +23,7 @@  ** 98/04/25 Phil Blundell: added HP300 support  ** 1998/08/30 David Kilzer: Added support for font_desc structures  **            for linux-2.1.115 -** 9/02/11  Richard Zidlicky: added Q40 support (initial vesion 99/01/01) +** 1999/02/11  Richard Zidlicky: added Q40 support (initial version 99/01/01)  ** 2004/05/13 Kars de Jong: Finalised HP300 support  **  ** This file is subject to the terms and conditions of the GNU General Public @@ -153,7 +153,7 @@   * ------------   *	The console is also able to be turned off.  The console in head.S   * is specifically for debugging and can be very useful.  It is surrounded by - * #ifdef CONSOLE/#endif clauses so it doesn't have to ship in known-good + * #ifdef / #endif clauses so it doesn't have to ship in known-good   * kernels.  It's basic algorithm is to determine the size of the screen   * (in height/width and bit depth) and then use that information for   * displaying an 8x8 font or an 8x16 (widthxheight).  I prefer the 8x8 for @@ -198,9 +198,8 @@   * CONFIG_xxx:	These are the obvious machine configuration defines created   * during configuration.  These are defined in autoconf.h.   * - * CONSOLE:	There is support for head.S console in this file.  This - * console can talk to a Mac frame buffer, but could easily be extrapolated - * to extend it to support other platforms. + * CONSOLE_DEBUG:  Only supports a Mac frame buffer but could easily be + * extended to support other platforms.   *   * TEST_MMU:	This is a test harness for running on any given machine but   * getting an MMU dump for another class of machine.  The classes of machines @@ -222,7 +221,7 @@   * MMU_PRINT:	There is a routine built into head.S that can display the   * MMU data structures.  It outputs its result through the serial_putc   * interface.  So where ever that winds up driving data, that's where the - * mmu struct will appear.  On the Macintosh that's typically the console. + * mmu struct will appear.   *   * SERIAL_DEBUG:	There are a series of putc() macro statements   * scattered through out the code to give progress of status to the @@ -250,40 +249,35 @@   * USE_MFP:	Use the ST-MFP port (Modem1) for serial debug.   *   * Macintosh constants: - * MAC_USE_SCC_A: Use SCC port A (modem) for serial debug and early console. - * MAC_USE_SCC_B: Use SCC port B (printer) for serial debug and early console. + * MAC_USE_SCC_A: Use SCC port A (modem) for serial debug. + * MAC_USE_SCC_B: Use SCC port B (printer) for serial debug.   */  #include <linux/linkage.h>  #include <linux/init.h>  #include <asm/bootinfo.h> +#include <asm/bootinfo-amiga.h> +#include <asm/bootinfo-atari.h> +#include <asm/bootinfo-hp300.h> +#include <asm/bootinfo-mac.h> +#include <asm/bootinfo-q40.h> +#include <asm/bootinfo-vme.h>  #include <asm/setup.h>  #include <asm/entry.h>  #include <asm/pgtable.h>  #include <asm/page.h>  #include <asm/asm-offsets.h> -  #ifdef CONFIG_MAC - -#include <asm/machw.h> - -#ifdef CONFIG_FRAMEBUFFER_CONSOLE -#define CONSOLE -#define CONSOLE_PENGUIN +#  include <asm/machw.h>  #endif  #ifdef CONFIG_EARLY_PRINTK -#define SERIAL_DEBUG -#else -#undef SERIAL_DEBUG +#  define SERIAL_DEBUG +#  if defined(CONFIG_MAC) && defined(CONFIG_FONT_SUPPORT) +#    define CONSOLE_DEBUG +#  endif  #endif -#else /* !CONFIG_MAC */ - -#define SERIAL_DEBUG - -#endif /* !CONFIG_MAC */ -  #undef MMU_PRINT  #undef MMU_NOCACHE_KERNEL  #undef DEBUG @@ -298,6 +292,7 @@  .globl kernel_pg_dir  .globl availmem +.globl m68k_init_mapped_size  .globl m68k_pgtable_cachemode  .globl m68k_supervisor_cachemode  #ifdef CONFIG_MVME16x @@ -475,22 +470,21 @@ func_define	serial_putc,1  func_define	console_putc,1  func_define	console_init -func_define	console_put_stats  func_define	console_put_penguin  func_define	console_plot_pixel,3  func_define	console_scroll  .macro	putc	ch -#if defined(CONSOLE) || defined(SERIAL_DEBUG) +#if defined(CONSOLE_DEBUG) || defined(SERIAL_DEBUG)  	pea	\ch  #endif -#ifdef CONSOLE +#ifdef CONSOLE_DEBUG  	func_call	console_putc  #endif  #ifdef SERIAL_DEBUG  	func_call	serial_putc  #endif -#if defined(CONSOLE) || defined(SERIAL_DEBUG) +#if defined(CONSOLE_DEBUG) || defined(SERIAL_DEBUG)  	addql	#4,%sp  #endif  .endm @@ -510,7 +504,7 @@ func_define	putn,1  .endm  .macro	puts		string -#if defined(CONSOLE) || defined(SERIAL_DEBUG) +#if defined(CONSOLE_DEBUG) || defined(SERIAL_DEBUG)  	__INITDATA  .Lstr\@:  	.string	"\string" @@ -646,32 +640,9 @@ ENTRY(__start)  	lea	%pc@(L(mac_rowbytes)),%a1  	movel	%a0@,%a1@ -#ifdef SERIAL_DEBUG  	get_bi_record	BI_MAC_SCCBASE  	lea	%pc@(L(mac_sccbase)),%a1  	movel	%a0@,%a1@ -#endif - -#if 0 -	/* -	 * Clear the screen -	 */ -	lea	%pc@(L(mac_videobase)),%a0 -	movel	%a0@,%a1 -	lea	%pc@(L(mac_dimensions)),%a0 -	movel	%a0@,%d1 -	swap	%d1		/* #rows is high bytes */ -	andl	#0xFFFF,%d1	/* rows */ -	subl	#10,%d1 -	lea	%pc@(L(mac_rowbytes)),%a0 -loopy2: -	movel	%a0@,%d0 -	subql	#1,%d0 -loopx2: -	moveb	#0x55, %a1@+ -	dbra	%d0,loopx2 -	dbra	%d1,loopy2 -#endif  L(test_notmac):  #endif /* CONFIG_MAC */ @@ -901,15 +872,14 @@ L(nothp):   */  #ifdef CONFIG_MAC  	is_not_mac(L(nocon)) -#ifdef CONSOLE +#  ifdef CONSOLE_DEBUG  	console_init -#ifdef CONSOLE_PENGUIN +#    ifdef CONFIG_LOGO  	console_put_penguin -#endif	/* CONSOLE_PENGUIN */ -	console_put_stats -#endif	/* CONSOLE */ +#    endif /* CONFIG_LOGO */ +#  endif /* CONSOLE_DEBUG */  L(nocon): -#endif	/* CONFIG_MAC */ +#endif /* CONFIG_MAC */  	putc	'\n' @@ -938,10 +908,22 @@ L(nocon):   *   *	This block of code does what's necessary to map in the various kinds   *	of machines for execution of Linux. - *	First map the first 4 MB of kernel code & data + *	First map the first 4, 8, or 16 MB of kernel code & data   */ -	mmu_map	#PAGE_OFFSET,%pc@(L(phys_kernel_start)),#4*1024*1024,\ +	get_bi_record BI_MEMCHUNK +	movel	%a0@(4),%d0 +	movel	#16*1024*1024,%d1 +	cmpl	%d0,%d1 +	jls	1f +	lsrl	#1,%d1 +	cmpl	%d0,%d1 +	jls	1f +	lsrl	#1,%d1 +1: +	lea	%pc@(m68k_init_mapped_size),%a0 +	movel	%d1,%a0@ +	mmu_map	#PAGE_OFFSET,%pc@(L(phys_kernel_start)),%d1,\  		%pc@(m68k_supervisor_cachemode)  	putc	'C' @@ -1412,15 +1394,13 @@ L(mmu_fixup_done):  	andl	L(mac_videobase),%d0  	addl	#VIDEOMEMBASE,%d0  	movel	%d0,L(mac_videobase) -#if defined(CONSOLE) +#ifdef CONSOLE_DEBUG  	movel	%pc@(L(phys_kernel_start)),%d0  	subl	#PAGE_OFFSET,%d0  	subl	%d0,L(console_font)  	subl	%d0,L(console_font_data)  #endif -#ifdef SERIAL_DEBUG  	orl	#0x50000000,L(mac_sccbase) -#endif  1:  #endif @@ -1532,7 +1512,7 @@ L(cache_done):  /*   * Find a tag record in the bootinfo structure - * The bootinfo structure is located right after the kernel bss + * The bootinfo structure is located right after the kernel   * Returns: d0: size (-1 if not found)   *          a0: data pointer (end-of-records if not found)   */ @@ -2750,7 +2730,12 @@ func_return	get_new_page   */  #ifdef CONFIG_MAC +/* You may define either or both of these. */ +#define MAC_USE_SCC_A /* Modem port */ +#define MAC_USE_SCC_B /* Printer port */ +#if defined(MAC_USE_SCC_A) || defined(MAC_USE_SCC_B) +/* Initialisation table for SCC with 3.6864 MHz PCLK */  L(scc_initable_mac):  	.byte	4,0x44		/* x16, 1 stopbit, no parity */  	.byte	3,0xc0		/* receiver: 8 bpc */ @@ -2764,6 +2749,7 @@ L(scc_initable_mac):  	.byte	-1  	.even  #endif +#endif /* CONFIG_MAC */  #ifdef CONFIG_ATARI  /* #define USE_PRINTER */ @@ -2772,14 +2758,12 @@ L(scc_initable_mac):  #define USE_MFP  #if defined(USE_SCC_A) || defined(USE_SCC_B) -#define USE_SCC -/* Initialisation table for SCC */ -L(scc_initable): -	.byte	9,12		/* Reset */ +/* Initialisation table for SCC with 7.9872 MHz PCLK */ +/* PCLK == 8.0539 gives baud == 9680.1 */ +L(scc_initable_atari):  	.byte	4,0x44		/* x16, 1 stopbit, no parity */  	.byte	3,0xc0		/* receiver: 8 bpc */  	.byte	5,0xe2		/* transmitter: 8 bpc, assert dtr/rts */ -	.byte	9,0		/* no interrupts */  	.byte	10,0		/* NRZ */  	.byte	11,0x50		/* use baud rate generator */  	.byte	12,24,13,0	/* 9600 baud */ @@ -2828,7 +2812,7 @@ LMFP_UDR     = 0xfffa2f   */  /* - * Initialize serial port hardware for 9600/8/1 + * Initialize serial port hardware   */  func_start	serial_init,%d0/%d1/%a0/%a1  	/* @@ -2838,7 +2822,7 @@ func_start	serial_init,%d0/%d1/%a0/%a1  	 *		d0 = boot info offset  	 *	CONFIG_ATARI  	 *		a0 = address of SCC -	 *		a1 = Liobase address/address of scc_initable +	 *		a1 = Liobase address/address of scc_initable_atari  	 *		d0 = init data for serial port  	 *	CONFIG_MAC  	 *		a0 = address of SCC @@ -2859,6 +2843,7 @@ func_start	serial_init,%d0/%d1/%a0/%a1  |	movew	#61,CUSTOMBASE+C_SERPER-ZTWOBASE  1:  #endif +  #ifdef CONFIG_ATARI  	is_not_atari(4f)  	movel	%pc@(L(iobase)),%a1 @@ -2873,9 +2858,21 @@ func_start	serial_init,%d0/%d1/%a0/%a1  	moveb	%a1@(LPSG_READ),%d0  	bset	#5,%d0  	moveb	%d0,%a1@(LPSG_WRITE) -#elif defined(USE_SCC) +#elif defined(USE_SCC_A) || defined(USE_SCC_B)  	lea	%a1@(LSCC_CTRL),%a0 -	lea	%pc@(L(scc_initable)),%a1 +	/* Reset SCC register pointer */ +	moveb	%a0@,%d0 +	/* Reset SCC device: write register pointer then register value */ +	moveb	#9,%a0@ +	moveb	#0xc0,%a0@ +	/* Wait for 5 PCLK cycles, which is about 63 CPU cycles */ +	/* 5 / 7.9872 MHz = approx. 0.63 us = 63 / 100 MHz */ +	movel	#32,%d0 +2: +	subq	#1,%d0 +	jne	2b +	/* Initialize channel */ +	lea	%pc@(L(scc_initable_atari)),%a1  2:	moveb	%a1@+,%d0  	jmi	3f  	moveb	%d0,%a0@ @@ -2893,23 +2890,18 @@ func_start	serial_init,%d0/%d1/%a0/%a1  	jra	L(serial_init_done)  4:  #endif +  #ifdef CONFIG_MAC  	is_not_mac(L(serial_init_not_mac)) - -#ifdef SERIAL_DEBUG - -/* You may define either or both of these. */ -#define MAC_USE_SCC_A /* Modem port */ -#define MAC_USE_SCC_B /* Printer port */ - +#if defined(MAC_USE_SCC_A) || defined(MAC_USE_SCC_B)  #define mac_scc_cha_b_ctrl_offset	0x0  #define mac_scc_cha_a_ctrl_offset	0x2  #define mac_scc_cha_b_data_offset	0x4  #define mac_scc_cha_a_data_offset	0x6 - -#if defined(MAC_USE_SCC_A) || defined(MAC_USE_SCC_B)  	movel	%pc@(L(mac_sccbase)),%a0 -	/* Reset SCC device */ +	/* Reset SCC register pointer */ +	moveb	%a0@(mac_scc_cha_a_ctrl_offset),%d0 +	/* Reset SCC device: write register pointer then register value */  	moveb	#9,%a0@(mac_scc_cha_a_ctrl_offset)  	moveb	#0xc0,%a0@(mac_scc_cha_a_ctrl_offset)  	/* Wait for 5 PCLK cycles, which is about 68 CPU cycles */ @@ -2919,7 +2911,6 @@ func_start	serial_init,%d0/%d1/%a0/%a1  	subq	#1,%d0  	jne	5b  #endif -  #ifdef MAC_USE_SCC_A  	/* Initialize channel A */  	lea	%pc@(L(scc_initable_mac)),%a1 @@ -2930,7 +2921,6 @@ func_start	serial_init,%d0/%d1/%a0/%a1  	jra	5b  6:  #endif	/* MAC_USE_SCC_A */ -  #ifdef MAC_USE_SCC_B  	/* Initialize channel B */  	lea	%pc@(L(scc_initable_mac)),%a1 @@ -2941,9 +2931,6 @@ func_start	serial_init,%d0/%d1/%a0/%a1  	jra	7b  8:  #endif	/* MAC_USE_SCC_B */ - -#endif	/* SERIAL_DEBUG */ -  	jra	L(serial_init_done)  L(serial_init_not_mac):  #endif	/* CONFIG_MAC */ @@ -2973,6 +2960,15 @@ L(serial_init_not_mac):  2:  #endif +#ifdef CONFIG_MVME16x +	is_not_mvme16x(L(serial_init_not_mvme16x)) +	moveb	#0x10,M167_PCSCCMICR +	moveb	#0x10,M167_PCSCCTICR +	moveb	#0x10,M167_PCSCCRICR +	jra	L(serial_init_done) +L(serial_init_not_mvme16x): +#endif +  #ifdef CONFIG_APOLLO  /* We count on the PROM initializing SIO1 */  #endif @@ -3012,27 +3008,19 @@ func_start	serial_putc,%d0/%d1/%a0/%a1  #ifdef CONFIG_MAC  	is_not_mac(5f) - -#ifdef SERIAL_DEBUG -  #if defined(MAC_USE_SCC_A) || defined(MAC_USE_SCC_B)  	movel	%pc@(L(mac_sccbase)),%a1  #endif -  #ifdef MAC_USE_SCC_A  3:	btst	#2,%a1@(mac_scc_cha_a_ctrl_offset)  	jeq	3b  	moveb	%d0,%a1@(mac_scc_cha_a_data_offset)  #endif	/* MAC_USE_SCC_A */ -  #ifdef MAC_USE_SCC_B  4:	btst	#2,%a1@(mac_scc_cha_b_ctrl_offset)  	jeq	4b  	moveb	%d0,%a1@(mac_scc_cha_b_data_offset)  #endif	/* MAC_USE_SCC_B */ - -#endif	/* SERIAL_DEBUG */ -  	jra	L(serial_putc_done)  5:  #endif	/* CONFIG_MAC */ @@ -3053,7 +3041,7 @@ func_start	serial_putc,%d0/%d1/%a0/%a1  	nop  	bset	#5,%d0  	moveb	%d0,%a1@(LPSG_WRITE) -#elif defined(USE_SCC) +#elif defined(USE_SCC_A) || defined(USE_SCC_B)  3:	btst	#2,%a1@(LSCC_CTRL)  	jeq	3b  	moveb	%d0,%a1@(LSCC_DATA) @@ -3209,7 +3197,7 @@ func_start	puts,%d0/%a0  	movel	ARG1,%a0  	jra	2f  1: -#ifdef CONSOLE +#ifdef CONSOLE_DEBUG  	console_putc	%d0  #endif  #ifdef SERIAL_DEBUG @@ -3238,7 +3226,7 @@ func_start	putn,%d0-%d2  	jls	2f  	addb	#'A'-('9'+1),%d2  2: -#ifdef CONSOLE +#ifdef CONSOLE_DEBUG  	console_putc	%d2  #endif  #ifdef SERIAL_DEBUG @@ -3248,21 +3236,19 @@ func_start	putn,%d0-%d2  func_return	putn -#ifdef CONFIG_MAC +#ifdef CONFIG_EARLY_PRINTK  /* - *	mac_early_print - *   *	This routine takes its parameters on the stack.  It then   *	turns around and calls the internal routines.  This routine   *	is used by the boot console.   *   *	The calling parameters are: - *		void mac_early_print(const char *str, unsigned length); + *		void debug_cons_nputs(const char *str, unsigned length)   *   *	This routine does NOT understand variable arguments only   *	simple strings!   */ -ENTRY(mac_early_print) +ENTRY(debug_cons_nputs)  	moveml	%d0/%d1/%a0,%sp@-  	movew	%sr,%sp@-  	ori	#0x0700,%sr @@ -3270,7 +3256,7 @@ ENTRY(mac_early_print)  	movel	%sp@(22),%d1		/* fetch parameter */  	jra	2f  1: -#ifdef CONSOLE +#ifdef CONSOLE_DEBUG  	console_putc	%d0  #endif  #ifdef SERIAL_DEBUG @@ -3284,7 +3270,7 @@ ENTRY(mac_early_print)  	movew	%sp@+,%sr  	moveml	%sp@+,%d0/%d1/%a0  	rts -#endif /* CONFIG_MAC */ +#endif /* CONFIG_EARLY_PRINTK */  #if defined(CONFIG_HP300) || defined(CONFIG_APOLLO)  func_start	set_leds,%d0/%a0 @@ -3306,7 +3292,7 @@ func_start	set_leds,%d0/%a0  func_return	set_leds  #endif -#ifdef CONSOLE +#ifdef CONSOLE_DEBUG  /*   *	For continuity, see the data alignment   *	to which this structure is tied. @@ -3316,14 +3302,13 @@ func_return	set_leds  #define Lconsole_struct_num_columns	8  #define Lconsole_struct_num_rows	12  #define Lconsole_struct_left_edge	16 -#define Lconsole_struct_penguin_putc	20  func_start	console_init,%a0-%a4/%d0-%d7  	/*  	 *	Some of the register usage that follows  	 *		a0 = pointer to boot_info  	 *		a1 = pointer to screen -	 *		a2 = pointer to Lconsole_globals +	 *		a2 = pointer to console_globals  	 *		d3 = pixel width of screen  	 *		d4 = pixel height of screen  	 *		(d3,d4) ~= (x,y) of a point just below @@ -3411,44 +3396,7 @@ L(console_clear_loop):  1:  func_return	console_init -func_start	console_put_stats,%a0/%d7 -	/* -	 *	Some of the register usage that follows -	 *		a0 = pointer to boot_info -	 *		d7 = value of boot_info fields -	 */ -	puts	"\nMacLinux\n" - -#ifdef SERIAL_DEBUG -	puts	"\n vidaddr:" -	putn	%pc@(L(mac_videobase))		/* video addr. */ - -	puts	"\n  _stext:" -	lea	%pc@(_stext),%a0 -	putn	%a0 - -	puts	"\nbootinfo:" -	lea	%pc@(_end),%a0 -	putn	%a0 - -	puts	"\n   cpuid:" -	putn	%pc@(L(cputype)) - -#  ifdef CONFIG_MAC -	puts	"\n sccbase:" -	putn	%pc@(L(mac_sccbase)) -#  endif -#  ifdef MMU_PRINT -	putc	'\n' -	jbsr	mmu_print_machine_cpu_types -#  endif -#endif /* SERIAL_DEBUG */ - -	putc	'\n' - -func_return	console_put_stats - -#ifdef CONSOLE_PENGUIN +#ifdef CONFIG_LOGO  func_start	console_put_penguin,%a0-%a1/%d0-%d7  	/*  	 *	Get 'that_penguin' onto the screen in the upper right corner @@ -3789,44 +3737,15 @@ L(white_16):  L(console_plot_pixel_exit):  func_return	console_plot_pixel -#endif /* CONSOLE */ - -#if 0 -/* - * This is some old code lying around.  I don't believe - * it's used or important anymore.  My guess is it contributed - * to getting to this point, but it's done for now. - * It was still in the 2.1.77 head.S, so it's still here. - * (And still not used!) - */ -L(showtest): -	moveml	%a0/%d7,%sp@- -	puts	"A=" -	putn	%a1 +#endif /* CONSOLE_DEBUG */ -	.long	0xf0119f15		| ptestr	#5,%a1@,#7,%a0 - -	puts	"DA=" -	putn	%a0 - -	puts	"D=" -	putn	%a0@ - -	puts	"S=" -	lea	%pc@(L(mmu)),%a0 -	.long	0xf0106200		| pmove		%psr,%a0@ -	clrl	%d7 -	movew	%a0@,%d7 -	putn	%d7 - -	putc	'\n' -	moveml	%sp@+,%a0/%d7 -	rts -#endif	/* 0 */  __INITDATA  	.align	4 +m68k_init_mapped_size: +	.long	0 +  #if defined(CONFIG_ATARI) || defined(CONFIG_AMIGA) || \      defined(CONFIG_HP300) || defined(CONFIG_APOLLO)  L(custom): @@ -3834,19 +3753,18 @@ L(iobase):  	.long 0  #endif -#if defined(CONSOLE) +#ifdef CONSOLE_DEBUG  L(console_globals):  	.long	0		/* cursor column */  	.long	0		/* cursor row */  	.long	0		/* max num columns */  	.long	0		/* max num rows */  	.long	0		/* left edge */ -	.long	0		/* mac putc */  L(console_font):  	.long	0		/* pointer to console font (struct font_desc) */  L(console_font_data):  	.long	0		/* pointer to console font data */ -#endif /* CONSOLE */ +#endif /* CONSOLE_DEBUG */  #if defined(MMU_PRINT)  L(mmu_print_data): @@ -3886,7 +3804,9 @@ M167_CYIER = 0xfff45011  M167_CYLICR = 0xfff45026  M167_CYTEOIR = 0xfff45085  M167_CYTDR = 0xfff450f8 +M167_PCSCCMICR = 0xfff4201d  M167_PCSCCTICR = 0xfff4201e +M167_PCSCCRICR = 0xfff4201f  M167_PCTPIACKR = 0xfff42025  #endif @@ -3896,8 +3816,6 @@ BVME_SCC_DATA_A	= 0xffb0000f  #endif  #if defined(CONFIG_MAC) -L(mac_booter_data): -	.long	0  L(mac_videobase):  	.long	0  L(mac_videodepth): @@ -3906,10 +3824,8 @@ L(mac_dimensions):  	.long	0  L(mac_rowbytes):  	.long	0 -#ifdef SERIAL_DEBUG  L(mac_sccbase):  	.long	0 -#endif  #endif /* CONFIG_MAC */  #if defined (CONFIG_APOLLO) diff --git a/arch/m68k/kernel/ints.c b/arch/m68k/kernel/ints.c index 4d7da384eea..5b8d66fbf38 100644 --- a/arch/m68k/kernel/ints.c +++ b/arch/m68k/kernel/ints.c @@ -10,9 +10,9 @@  #include <linux/types.h>  #include <linux/sched.h>  #include <linux/interrupt.h> -#include <linux/kernel_stat.h>  #include <linux/errno.h>  #include <linux/init.h> +#include <linux/irq.h>  #include <asm/setup.h>  #include <asm/irq.h> @@ -58,12 +58,6 @@ void __init init_IRQ(void)  {  	int i; -	/* assembly irq entry code relies on this... */ -	if (HARDIRQ_MASK != 0x00ff0000) { -		extern void hardirq_mask_is_broken(void); -		hardirq_mask_is_broken(); -	} -  	for (i = IRQ_AUTO_1; i <= IRQ_AUTO_7; i++)  		irq_set_chip_and_handler(i, &auto_irq_chip, handle_simple_irq); diff --git a/arch/m68k/kernel/machine_kexec.c b/arch/m68k/kernel/machine_kexec.c new file mode 100644 index 00000000000..d4affc917d9 --- /dev/null +++ b/arch/m68k/kernel/machine_kexec.c @@ -0,0 +1,58 @@ +/* + * machine_kexec.c - handle transition of Linux booting another kernel + */ +#include <linux/compiler.h> +#include <linux/kexec.h> +#include <linux/mm.h> +#include <linux/delay.h> + +#include <asm/cacheflush.h> +#include <asm/page.h> +#include <asm/setup.h> + +extern const unsigned char relocate_new_kernel[]; +extern const size_t relocate_new_kernel_size; + +int machine_kexec_prepare(struct kimage *kimage) +{ +	return 0; +} + +void machine_kexec_cleanup(struct kimage *kimage) +{ +} + +void machine_shutdown(void) +{ +} + +void machine_crash_shutdown(struct pt_regs *regs) +{ +} + +typedef void (*relocate_kernel_t)(unsigned long ptr, +				  unsigned long start, +				  unsigned long cpu_mmu_flags) __noreturn; + +void machine_kexec(struct kimage *image) +{ +	void *reboot_code_buffer; +	unsigned long cpu_mmu_flags; + +	reboot_code_buffer = page_address(image->control_code_page); + +	memcpy(reboot_code_buffer, relocate_new_kernel, +	       relocate_new_kernel_size); + +	/* +	 * we do not want to be bothered. +	 */ +	local_irq_disable(); + +	pr_info("Will call new kernel at 0x%08lx. Bye...\n", image->start); +	__flush_cache_all(); +	cpu_mmu_flags = m68k_cputype | m68k_mmutype << 8; +	((relocate_kernel_t) reboot_code_buffer)(image->head & PAGE_MASK, +						 image->start, +						 cpu_mmu_flags); +} diff --git a/arch/m68k/kernel/relocate_kernel.S b/arch/m68k/kernel/relocate_kernel.S new file mode 100644 index 00000000000..3e09a89067a --- /dev/null +++ b/arch/m68k/kernel/relocate_kernel.S @@ -0,0 +1,159 @@ +#include <linux/linkage.h> + +#include <asm/asm-offsets.h> +#include <asm/page.h> +#include <asm/setup.h> + + +#define MMU_BASE	8		/* MMU flags base in cpu_mmu_flags */ + +.text + +ENTRY(relocate_new_kernel) +	movel %sp@(4),%a0		/* a0 = ptr */ +	movel %sp@(8),%a1		/* a1 = start */ +	movel %sp@(12),%d1		/* d1 = cpu_mmu_flags */ +	movew #PAGE_MASK,%d2		/* d2 = PAGE_MASK */ + +	/* Disable MMU */ + +	btst #MMU_BASE + MMUB_68851,%d1 +	jeq 3f + +1:	/* 68851 or 68030 */ + +	lea %pc@(.Lcopy),%a4 +2:	addl #0x00000000,%a4		/* virt_to_phys() */ + +	.section ".m68k_fixup","aw" +	.long M68K_FIXUP_MEMOFFSET, 2b+2 +	.previous + +	.chip 68030 +	pmove %tc,%d0			/* Disable MMU */ +	bclr #7,%d0 +	pmove %d0,%tc +	jmp %a4@			/* Jump to physical .Lcopy */ +	.chip 68k + +3: +	btst #MMU_BASE + MMUB_68030,%d1 +	jne 1b + +	btst #MMU_BASE + MMUB_68040,%d1 +	jeq 6f + +4:	/* 68040 or 68060 */ + +	lea %pc@(.Lcont040),%a4 +5:	addl #0x00000000,%a4		/* virt_to_phys() */ + +	.section ".m68k_fixup","aw" +	.long M68K_FIXUP_MEMOFFSET, 5b+2 +	.previous + +	movel %a4,%d0 +	andl #0xff000000,%d0 +	orw #0xe020,%d0			/* Map 16 MiB, enable, cacheable */ +	.chip 68040 +	movec %d0,%itt0 +	movec %d0,%dtt0 +	.chip 68k +	jmp %a4@			/* Jump to physical .Lcont040 */ + +.Lcont040: +	moveq #0,%d0 +	.chip 68040 +	movec %d0,%tc			/* Disable MMU */ +	movec %d0,%itt0 +	movec %d0,%itt1 +	movec %d0,%dtt0 +	movec %d0,%dtt1 +	.chip 68k +	jra .Lcopy + +6: +	btst #MMU_BASE + MMUB_68060,%d1 +	jne 4b + +.Lcopy: +	movel %a0@+,%d0			/* d0 = entry = *ptr */ +	jeq .Lflush + +	btst #2,%d0			/* entry & IND_DONE? */ +	jne .Lflush + +	btst #1,%d0			/* entry & IND_INDIRECTION? */ +	jeq 1f +	andw %d2,%d0 +	movel %d0,%a0			/* ptr = entry & PAGE_MASK */ +	jra .Lcopy + +1: +	btst #0,%d0			/* entry & IND_DESTINATION? */ +	jeq 2f +	andw %d2,%d0 +	movel %d0,%a2			/* a2 = dst = entry & PAGE_MASK */ +	jra .Lcopy + +2: +	btst #3,%d0			/* entry & IND_SOURCE? */ +	jeq .Lcopy + +	andw %d2,%d0 +	movel %d0,%a3			/* a3 = src = entry & PAGE_MASK */ +	movew #PAGE_SIZE/32 - 1,%d0	/* d0 = PAGE_SIZE/32 - 1 */ +3: +	movel %a3@+,%a2@+		/* *dst++ = *src++ */ +	movel %a3@+,%a2@+		/* *dst++ = *src++ */ +	movel %a3@+,%a2@+		/* *dst++ = *src++ */ +	movel %a3@+,%a2@+		/* *dst++ = *src++ */ +	movel %a3@+,%a2@+		/* *dst++ = *src++ */ +	movel %a3@+,%a2@+		/* *dst++ = *src++ */ +	movel %a3@+,%a2@+		/* *dst++ = *src++ */ +	movel %a3@+,%a2@+		/* *dst++ = *src++ */ +	dbf %d0, 3b +	jra .Lcopy + +.Lflush: +	/* Flush all caches */ + +	btst #CPUB_68020,%d1 +	jeq 2f + +1:	/* 68020 or 68030 */ +	.chip 68030 +	movec %cacr,%d0 +	orw #0x808,%d0 +	movec %d0,%cacr +	.chip 68k +	jra .Lreincarnate + +2: +	btst #CPUB_68030,%d1 +	jne 1b + +	btst #CPUB_68040,%d1 +	jeq 4f + +3:	/* 68040 or 68060 */ +	.chip 68040 +	nop +	cpusha %bc +	nop +	cinva %bc +	nop +	.chip 68k +	jra .Lreincarnate + +4: +	btst #CPUB_68060,%d1 +	jne 3b + +.Lreincarnate: +	jmp %a1@ + +relocate_new_kernel_end: + +ENTRY(relocate_new_kernel_size) +	.long relocate_new_kernel_end - relocate_new_kernel diff --git a/arch/m68k/kernel/setup_mm.c b/arch/m68k/kernel/setup_mm.c index e67e5315957..5b8ec4d5f8e 100644 --- a/arch/m68k/kernel/setup_mm.c +++ b/arch/m68k/kernel/setup_mm.c @@ -26,6 +26,7 @@  #include <linux/initrd.h>  #include <asm/bootinfo.h> +#include <asm/byteorder.h>  #include <asm/sections.h>  #include <asm/setup.h>  #include <asm/fpu.h> @@ -71,12 +72,12 @@ EXPORT_SYMBOL(m68k_num_memory);  int m68k_realnum_memory;  EXPORT_SYMBOL(m68k_realnum_memory);  unsigned long m68k_memoffset; -struct mem_info m68k_memory[NUM_MEMINFO]; +struct m68k_mem_info m68k_memory[NUM_MEMINFO];  EXPORT_SYMBOL(m68k_memory); -struct mem_info m68k_ramdisk; +static struct m68k_mem_info m68k_ramdisk __initdata; -static char m68k_command_line[CL_SIZE]; +static char m68k_command_line[CL_SIZE] __initdata;  void (*mach_sched_init) (irq_handler_t handler) __initdata = NULL;  /* machine dependent irq functions */ @@ -143,11 +144,16 @@ extern void paging_init(void);  static void __init m68k_parse_bootinfo(const struct bi_record *record)  { -	while (record->tag != BI_LAST) { +	uint16_t tag; + +	save_bootinfo(record); + +	while ((tag = be16_to_cpu(record->tag)) != BI_LAST) {  		int unknown = 0; -		const unsigned long *data = record->data; +		const void *data = record->data; +		uint16_t size = be16_to_cpu(record->size); -		switch (record->tag) { +		switch (tag) {  		case BI_MACHTYPE:  		case BI_CPUTYPE:  		case BI_FPUTYPE: @@ -157,20 +163,27 @@ static void __init m68k_parse_bootinfo(const struct bi_record *record)  		case BI_MEMCHUNK:  			if (m68k_num_memory < NUM_MEMINFO) { -				m68k_memory[m68k_num_memory].addr = data[0]; -				m68k_memory[m68k_num_memory].size = data[1]; +				const struct mem_info *m = data; +				m68k_memory[m68k_num_memory].addr = +					be32_to_cpu(m->addr); +				m68k_memory[m68k_num_memory].size = +					be32_to_cpu(m->size);  				m68k_num_memory++;  			} else -				printk("m68k_parse_bootinfo: too many memory chunks\n"); +				pr_warn("%s: too many memory chunks\n", +					__func__);  			break;  		case BI_RAMDISK: -			m68k_ramdisk.addr = data[0]; -			m68k_ramdisk.size = data[1]; +			{ +				const struct mem_info *m = data; +				m68k_ramdisk.addr = be32_to_cpu(m->addr); +				m68k_ramdisk.size = be32_to_cpu(m->size); +			}  			break;  		case BI_COMMAND_LINE: -			strlcpy(m68k_command_line, (const char *)data, +			strlcpy(m68k_command_line, data,  				sizeof(m68k_command_line));  			break; @@ -197,17 +210,16 @@ static void __init m68k_parse_bootinfo(const struct bi_record *record)  				unknown = 1;  		}  		if (unknown) -			printk("m68k_parse_bootinfo: unknown tag 0x%04x ignored\n", -			       record->tag); -		record = (struct bi_record *)((unsigned long)record + -					      record->size); +			pr_warn("%s: unknown tag 0x%04x ignored\n", __func__, +				tag); +		record = (struct bi_record *)((unsigned long)record + size);  	}  	m68k_realnum_memory = m68k_num_memory;  #ifdef CONFIG_SINGLE_MEMORY_CHUNK  	if (m68k_num_memory > 1) { -		printk("Ignoring last %i chunks of physical memory\n", -		       (m68k_num_memory - 1)); +		pr_warn("%s: ignoring last %i chunks of physical memory\n", +			__func__, (m68k_num_memory - 1));  		m68k_num_memory = 1;  	}  #endif @@ -219,7 +231,7 @@ void __init setup_arch(char **cmdline_p)  	int i;  #endif -	/* The bootinfo is located right after the kernel bss */ +	/* The bootinfo is located right after the kernel */  	if (!CPU_IS_COLDFIRE)  		m68k_parse_bootinfo((const struct bi_record *)_end); @@ -247,7 +259,7 @@ void __init setup_arch(char **cmdline_p)  		asm (".chip 68060; movec %%pcr,%0; .chip 68k"  		     : "=d" (pcr));  		if (((pcr >> 8) & 0xff) <= 5) { -			printk("Enabling workaround for errata I14\n"); +			pr_warn("Enabling workaround for errata I14\n");  			asm (".chip 68060; movec %0,%%pcr; .chip 68k"  			     : : "d" (pcr | 0x20));  		} @@ -336,12 +348,12 @@ void __init setup_arch(char **cmdline_p)  		panic("No configuration setup");  	} +	paging_init(); +  #ifdef CONFIG_NATFEAT  	nf_init();  #endif -	paging_init(); -  #ifndef CONFIG_SUN3  	for (i = 1; i < m68k_num_memory; i++)  		free_bootmem_node(NODE_DATA(i), m68k_memory[i].addr, @@ -353,7 +365,7 @@ void __init setup_arch(char **cmdline_p)  				     BOOTMEM_DEFAULT);  		initrd_start = (unsigned long)phys_to_virt(m68k_ramdisk.addr);  		initrd_end = initrd_start + m68k_ramdisk.size; -		printk("initrd: %08lx - %08lx\n", initrd_start, initrd_end); +		pr_info("initrd: %08lx - %08lx\n", initrd_start, initrd_end);  	}  #endif @@ -538,9 +550,9 @@ void check_bugs(void)  {  #ifndef CONFIG_M68KFPU_EMU  	if (m68k_fputype == 0) { -		printk(KERN_EMERG "*** YOU DO NOT HAVE A FLOATING POINT UNIT, " +		pr_emerg("*** YOU DO NOT HAVE A FLOATING POINT UNIT, "  			"WHICH IS REQUIRED BY LINUX/M68K ***\n"); -		printk(KERN_EMERG "Upgrade your hardware or join the FPU " +		pr_emerg("Upgrade your hardware or join the FPU "  			"emulation project\n");  		panic("no FPU");  	} diff --git a/arch/m68k/kernel/setup_no.c b/arch/m68k/kernel/setup_no.c index 5b16f5d61b4..88c27d94a72 100644 --- a/arch/m68k/kernel/setup_no.c +++ b/arch/m68k/kernel/setup_no.c @@ -58,17 +58,16 @@ void (*mach_halt)(void);  void (*mach_power_off)(void);  #ifdef CONFIG_M68000 -#define CPU_NAME	"MC68000" -#endif -#ifdef CONFIG_M68328 +#if defined(CONFIG_M68328)  #define CPU_NAME	"MC68328" -#endif -#ifdef CONFIG_M68EZ328 +#elif defined(CONFIG_M68EZ328)  #define CPU_NAME	"MC68EZ328" -#endif -#ifdef CONFIG_M68VZ328 +#elif defined(CONFIG_M68VZ328)  #define CPU_NAME	"MC68VZ328" +#else +#define CPU_NAME	"MC68000"  #endif +#endif /* CONFIG_M68000 */  #ifdef CONFIG_M68360  #define CPU_NAME	"MC68360"  #endif diff --git a/arch/m68k/kernel/syscalltable.S b/arch/m68k/kernel/syscalltable.S index 3f04ea0ab80..501e1021278 100644 --- a/arch/m68k/kernel/syscalltable.S +++ b/arch/m68k/kernel/syscalltable.S @@ -369,4 +369,7 @@ ENTRY(sys_call_table)  	.long sys_process_vm_writev  	.long sys_kcmp  	.long sys_finit_module +	.long sys_sched_setattr +	.long sys_sched_getattr		/* 350 */ +	.long sys_renameat2 diff --git a/arch/m68k/kernel/time.c b/arch/m68k/kernel/time.c index 7eb9792009f..3857737e395 100644 --- a/arch/m68k/kernel/time.c +++ b/arch/m68k/kernel/time.c @@ -11,6 +11,7 @@   */  #include <linux/errno.h> +#include <linux/export.h>  #include <linux/module.h>  #include <linux/sched.h>  #include <linux/kernel.h> @@ -28,6 +29,11 @@  #include <linux/timex.h>  #include <linux/profile.h> + +unsigned long (*mach_random_get_entropy)(void); +EXPORT_SYMBOL_GPL(mach_random_get_entropy); + +  /*   * timer_interrupt() needs to keep up the real-time clock,   * as well as call the "xtime_update()" routine every clocktick diff --git a/arch/m68k/kernel/traps.c b/arch/m68k/kernel/traps.c index 88fcd8c70e7..6c9ca24830e 100644 --- a/arch/m68k/kernel/traps.c +++ b/arch/m68k/kernel/traps.c @@ -133,9 +133,7 @@ static inline void access_error060 (struct frame *fp)  {  	unsigned long fslw = fp->un.fmt4.pc; /* is really FSLW for access error */ -#ifdef DEBUG -	printk("fslw=%#lx, fa=%#lx\n", fslw, fp->un.fmt4.effaddr); -#endif +	pr_debug("fslw=%#lx, fa=%#lx\n", fslw, fp->un.fmt4.effaddr);  	if (fslw & MMU060_BPE) {  		/* branch prediction error -> clear branch cache */ @@ -162,9 +160,7 @@ static inline void access_error060 (struct frame *fp)  		}  		if (fslw & MMU060_W)  			errorcode |= 2; -#ifdef DEBUG -		printk("errorcode = %d\n", errorcode ); -#endif +		pr_debug("errorcode = %ld\n", errorcode);  		do_page_fault(&fp->ptregs, addr, errorcode);  	} else if (fslw & (MMU060_SEE)){  		/* Software Emulation Error. @@ -173,8 +169,9 @@ static inline void access_error060 (struct frame *fp)  		send_fault_sig(&fp->ptregs);  	} else if (!(fslw & (MMU060_RE|MMU060_WE)) ||  		   send_fault_sig(&fp->ptregs) > 0) { -		printk("pc=%#lx, fa=%#lx\n", fp->ptregs.pc, fp->un.fmt4.effaddr); -		printk( "68060 access error, fslw=%lx\n", fslw ); +		pr_err("pc=%#lx, fa=%#lx\n", fp->ptregs.pc, +		       fp->un.fmt4.effaddr); +		pr_err("68060 access error, fslw=%lx\n", fslw);  		trap_c( fp );  	}  } @@ -225,9 +222,7 @@ static inline int do_040writeback1(unsigned short wbs, unsigned long wba,  	set_fs(old_fs); -#ifdef DEBUG -	printk("do_040writeback1, res=%d\n",res); -#endif +	pr_debug("do_040writeback1, res=%d\n", res);  	return res;  } @@ -249,7 +244,7 @@ static inline void do_040writebacks(struct frame *fp)  	int res = 0;  #if 0  	if (fp->un.fmt7.wb1s & WBV_040) -		printk("access_error040: cannot handle 1st writeback. oops.\n"); +		pr_err("access_error040: cannot handle 1st writeback. oops.\n");  #endif  	if ((fp->un.fmt7.wb2s & WBV_040) && @@ -302,14 +297,12 @@ static inline void access_error040(struct frame *fp)  	unsigned short ssw = fp->un.fmt7.ssw;  	unsigned long mmusr; -#ifdef DEBUG -	printk("ssw=%#x, fa=%#lx\n", ssw, fp->un.fmt7.faddr); -        printk("wb1s=%#x, wb2s=%#x, wb3s=%#x\n", fp->un.fmt7.wb1s, +	pr_debug("ssw=%#x, fa=%#lx\n", ssw, fp->un.fmt7.faddr); +	pr_debug("wb1s=%#x, wb2s=%#x, wb3s=%#x\n", fp->un.fmt7.wb1s,  		fp->un.fmt7.wb2s, fp->un.fmt7.wb3s); -	printk ("wb2a=%lx, wb3a=%lx, wb2d=%lx, wb3d=%lx\n", +	pr_debug("wb2a=%lx, wb3a=%lx, wb2d=%lx, wb3d=%lx\n",  		fp->un.fmt7.wb2a, fp->un.fmt7.wb3a,  		fp->un.fmt7.wb2d, fp->un.fmt7.wb3d); -#endif  	if (ssw & ATC_040) {  		unsigned long addr = fp->un.fmt7.faddr; @@ -324,9 +317,7 @@ static inline void access_error040(struct frame *fp)  		/* MMU error, get the MMUSR info for this access */  		mmusr = probe040(!(ssw & RW_040), addr, ssw); -#ifdef DEBUG -		printk("mmusr = %lx\n", mmusr); -#endif +		pr_debug("mmusr = %lx\n", mmusr);  		errorcode = 1;  		if (!(mmusr & MMU_R_040)) {  			/* clear the invalid atc entry */ @@ -340,14 +331,10 @@ static inline void access_error040(struct frame *fp)  			errorcode |= 2;  		if (do_page_fault(&fp->ptregs, addr, errorcode)) { -#ifdef DEBUG -			printk("do_page_fault() !=0\n"); -#endif +			pr_debug("do_page_fault() !=0\n");  			if (user_mode(&fp->ptregs)){  				/* delay writebacks after signal delivery */ -#ifdef DEBUG -			        printk(".. was usermode - return\n"); -#endif +				pr_debug(".. was usermode - return\n");  				return;  			}  			/* disable writeback into user space from kernel @@ -355,9 +342,7 @@ static inline void access_error040(struct frame *fp)                           * the writeback won't do good)  			 */  disable_wb: -#ifdef DEBUG -			printk(".. disabling wb2\n"); -#endif +			pr_debug(".. disabling wb2\n");  			if (fp->un.fmt7.wb2a == fp->un.fmt7.faddr)  				fp->un.fmt7.wb2s &= ~WBV_040;  			if (fp->un.fmt7.wb3a == fp->un.fmt7.faddr) @@ -371,7 +356,7 @@ disable_wb:  		current->thread.signo = SIGBUS;  		current->thread.faddr = fp->un.fmt7.faddr;  		if (send_fault_sig(&fp->ptregs) >= 0) -			printk("68040 bus error (ssw=%x, faddr=%lx)\n", ssw, +			pr_err("68040 bus error (ssw=%x, faddr=%lx)\n", ssw,  			       fp->un.fmt7.faddr);  		goto disable_wb;  	} @@ -394,19 +379,17 @@ static inline void bus_error030 (struct frame *fp)  	unsigned short ssw = fp->un.fmtb.ssw;  	extern unsigned long _sun3_map_test_start, _sun3_map_test_end; -#ifdef DEBUG  	if (ssw & (FC | FB)) -		printk ("Instruction fault at %#010lx\n", +		pr_debug("Instruction fault at %#010lx\n",  			ssw & FC ?  			fp->ptregs.format == 0xa ? fp->ptregs.pc + 2 : fp->un.fmtb.baddr - 2  			:  			fp->ptregs.format == 0xa ? fp->ptregs.pc + 4 : fp->un.fmtb.baddr);  	if (ssw & DF) -		printk ("Data %s fault at %#010lx in %s (pc=%#lx)\n", +		pr_debug("Data %s fault at %#010lx in %s (pc=%#lx)\n",  			ssw & RW ? "read" : "write",  			fp->un.fmtb.daddr,  			space_names[ssw & DFC], fp->ptregs.pc); -#endif  	/*  	 * Check if this page should be demand-mapped. This needs to go before @@ -429,7 +412,7 @@ static inline void bus_error030 (struct frame *fp)  			  return;  			/* instruction fault or kernel data fault! */  			if (ssw & (FC | FB)) -				printk ("Instruction fault at %#010lx\n", +				pr_err("Instruction fault at %#010lx\n",  					fp->ptregs.pc);  			if (ssw & DF) {  				/* was this fault incurred testing bus mappings? */ @@ -439,12 +422,12 @@ static inline void bus_error030 (struct frame *fp)  					return;  				} -				printk ("Data %s fault at %#010lx in %s (pc=%#lx)\n", +				pr_err("Data %s fault at %#010lx in %s (pc=%#lx)\n",  					ssw & RW ? "read" : "write",  					fp->un.fmtb.daddr,  					space_names[ssw & DFC], fp->ptregs.pc);  			} -			printk ("BAD KERNEL BUSERR\n"); +			pr_err("BAD KERNEL BUSERR\n");  			die_if_kernel("Oops", &fp->ptregs,0);  			force_sig(SIGKILL, current); @@ -473,12 +456,11 @@ static inline void bus_error030 (struct frame *fp)  		else if (buserr_type & SUN3_BUSERR_INVALID)  			errorcode = 0x00;  		else { -#ifdef DEBUG -			printk ("*** unexpected busfault type=%#04x\n", buserr_type); -			printk ("invalid %s access at %#lx from pc %#lx\n", -				!(ssw & RW) ? "write" : "read", addr, -				fp->ptregs.pc); -#endif +			pr_debug("*** unexpected busfault type=%#04x\n", +				 buserr_type); +			pr_debug("invalid %s access at %#lx from pc %#lx\n", +				 !(ssw & RW) ? "write" : "read", addr, +				 fp->ptregs.pc);  			die_if_kernel ("Oops", &fp->ptregs, buserr_type);  			force_sig (SIGBUS, current);  			return; @@ -509,9 +491,7 @@ static inline void bus_error030 (struct frame *fp)  		if (!mmu_emu_handle_fault(addr, 1, 0))  			do_page_fault (&fp->ptregs, addr, 0);         } else { -#ifdef DEBUG -		printk ("protection fault on insn access (segv).\n"); -#endif +		pr_debug("protection fault on insn access (segv).\n");  		force_sig (SIGSEGV, current);         }  } @@ -525,22 +505,22 @@ static inline void bus_error030 (struct frame *fp)  	unsigned short ssw = fp->un.fmtb.ssw;  #ifdef DEBUG  	unsigned long desc; +#endif -	printk ("pid = %x  ", current->pid); -	printk ("SSW=%#06x  ", ssw); +	pr_debug("pid = %x  ", current->pid); +	pr_debug("SSW=%#06x  ", ssw);  	if (ssw & (FC | FB)) -		printk ("Instruction fault at %#010lx\n", +		pr_debug("Instruction fault at %#010lx\n",  			ssw & FC ?  			fp->ptregs.format == 0xa ? fp->ptregs.pc + 2 : fp->un.fmtb.baddr - 2  			:  			fp->ptregs.format == 0xa ? fp->ptregs.pc + 4 : fp->un.fmtb.baddr);  	if (ssw & DF) -		printk ("Data %s fault at %#010lx in %s (pc=%#lx)\n", +		pr_debug("Data %s fault at %#010lx in %s (pc=%#lx)\n",  			ssw & RW ? "read" : "write",  			fp->un.fmtb.daddr,  			space_names[ssw & DFC], fp->ptregs.pc); -#endif  	/* ++andreas: If a data fault and an instruction fault happen  	   at the same time map in both pages.  */ @@ -554,27 +534,23 @@ static inline void bus_error030 (struct frame *fp)  			      "pmove %%psr,%1"  			      : "=a&" (desc), "=m" (temp)  			      : "a" (addr), "d" (ssw)); +		pr_debug("mmusr is %#x for addr %#lx in task %p\n", +			 temp, addr, current); +		pr_debug("descriptor address is 0x%p, contents %#lx\n", +			 __va(desc), *(unsigned long *)__va(desc));  #else  		asm volatile ("ptestr %2,%1@,#7\n\t"  			      "pmove %%psr,%0"  			      : "=m" (temp) : "a" (addr), "d" (ssw));  #endif  		mmusr = temp; - -#ifdef DEBUG -		printk("mmusr is %#x for addr %#lx in task %p\n", -		       mmusr, addr, current); -		printk("descriptor address is %#lx, contents %#lx\n", -		       __va(desc), *(unsigned long *)__va(desc)); -#endif -  		errorcode = (mmusr & MMU_I) ? 0 : 1;  		if (!(ssw & RW) || (ssw & RM))  			errorcode |= 2;  		if (mmusr & (MMU_I | MMU_WP)) {  			if (ssw & 4) { -				printk("Data %s fault at %#010lx in %s (pc=%#lx)\n", +				pr_err("Data %s fault at %#010lx in %s (pc=%#lx)\n",  				       ssw & RW ? "read" : "write",  				       fp->un.fmtb.daddr,  				       space_names[ssw & DFC], fp->ptregs.pc); @@ -587,9 +563,10 @@ static inline void bus_error030 (struct frame *fp)  		} else if (!(mmusr & MMU_I)) {  			/* probably a 020 cas fault */  			if (!(ssw & RM) && send_fault_sig(&fp->ptregs) > 0) -				printk("unexpected bus error (%#x,%#x)\n", ssw, mmusr); +				pr_err("unexpected bus error (%#x,%#x)\n", ssw, +				       mmusr);  		} else if (mmusr & (MMU_B|MMU_L|MMU_S)) { -			printk("invalid %s access at %#lx from pc %#lx\n", +			pr_err("invalid %s access at %#lx from pc %#lx\n",  			       !(ssw & RW) ? "write" : "read", addr,  			       fp->ptregs.pc);  			die_if_kernel("Oops",&fp->ptregs,mmusr); @@ -600,7 +577,7 @@ static inline void bus_error030 (struct frame *fp)  			static volatile long tlong;  #endif -			printk("weird %s access at %#lx from pc %#lx (ssw is %#x)\n", +			pr_err("weird %s access at %#lx from pc %#lx (ssw is %#x)\n",  			       !(ssw & RW) ? "write" : "read", addr,  			       fp->ptregs.pc, ssw);  			asm volatile ("ptestr #1,%1@,#0\n\t" @@ -609,18 +586,16 @@ static inline void bus_error030 (struct frame *fp)  				      : "a" (addr));  			mmusr = temp; -			printk ("level 0 mmusr is %#x\n", mmusr); +			pr_err("level 0 mmusr is %#x\n", mmusr);  #if 0  			asm volatile ("pmove %%tt0,%0"  				      : "=m" (tlong)); -			printk("tt0 is %#lx, ", tlong); +			pr_debug("tt0 is %#lx, ", tlong);  			asm volatile ("pmove %%tt1,%0"  				      : "=m" (tlong)); -			printk("tt1 is %#lx\n", tlong); -#endif -#ifdef DEBUG -			printk("Unknown SIGSEGV - 1\n"); +			pr_debug("tt1 is %#lx\n", tlong);  #endif +			pr_debug("Unknown SIGSEGV - 1\n");  			die_if_kernel("Oops",&fp->ptregs,mmusr);  			force_sig(SIGSEGV, current);  			return; @@ -641,10 +616,9 @@ static inline void bus_error030 (struct frame *fp)  		return;  	if (fp->ptregs.sr & PS_S) { -		printk("Instruction fault at %#010lx\n", -			fp->ptregs.pc); +		pr_err("Instruction fault at %#010lx\n", fp->ptregs.pc);  	buserr: -		printk ("BAD KERNEL BUSERR\n"); +		pr_err("BAD KERNEL BUSERR\n");  		die_if_kernel("Oops",&fp->ptregs,0);  		force_sig(SIGKILL, current);  		return; @@ -668,28 +642,22 @@ static inline void bus_error030 (struct frame *fp)  		      "pmove %%psr,%1"  		      : "=a&" (desc), "=m" (temp)  		      : "a" (addr)); +	pr_debug("mmusr is %#x for addr %#lx in task %p\n", +		temp, addr, current); +	pr_debug("descriptor address is 0x%p, contents %#lx\n", +		__va(desc), *(unsigned long *)__va(desc));  #else  	asm volatile ("ptestr #1,%1@,#7\n\t"  		      "pmove %%psr,%0"  		      : "=m" (temp) : "a" (addr));  #endif  	mmusr = temp; - -#ifdef DEBUG -	printk ("mmusr is %#x for addr %#lx in task %p\n", -		mmusr, addr, current); -	printk ("descriptor address is %#lx, contents %#lx\n", -		__va(desc), *(unsigned long *)__va(desc)); -#endif -  	if (mmusr & MMU_I)  		do_page_fault (&fp->ptregs, addr, 0);  	else if (mmusr & (MMU_B|MMU_L|MMU_S)) { -		printk ("invalid insn access at %#lx from pc %#lx\n", +		pr_err("invalid insn access at %#lx from pc %#lx\n",  			addr, fp->ptregs.pc); -#ifdef DEBUG -		printk("Unknown SIGSEGV - 2\n"); -#endif +		pr_debug("Unknown SIGSEGV - 2\n");  		die_if_kernel("Oops",&fp->ptregs,mmusr);  		force_sig(SIGSEGV, current);  		return; @@ -791,9 +759,7 @@ asmlinkage void buserr_c(struct frame *fp)  	if (user_mode(&fp->ptregs))  		current->thread.esp0 = (unsigned long) fp; -#ifdef DEBUG -	printk ("*** Bus Error *** Format is %x\n", fp->ptregs.format); -#endif +	pr_debug("*** Bus Error *** Format is %x\n", fp->ptregs.format);  #if defined(CONFIG_COLDFIRE) && defined(CONFIG_MMU)  	if (CPU_IS_COLDFIRE) { @@ -836,9 +802,7 @@ asmlinkage void buserr_c(struct frame *fp)  #endif  	default:  	  die_if_kernel("bad frame format",&fp->ptregs,0); -#ifdef DEBUG -	  printk("Unknown SIGSEGV - 4\n"); -#endif +	  pr_debug("Unknown SIGSEGV - 4\n");  	  force_sig(SIGSEGV, current);  	}  } @@ -852,7 +816,7 @@ void show_trace(unsigned long *stack)  	unsigned long addr;  	int i; -	printk("Call Trace:"); +	pr_info("Call Trace:");  	addr = (unsigned long)stack + THREAD_SIZE - 1;  	endstack = (unsigned long *)(addr & -THREAD_SIZE);  	i = 0; @@ -869,13 +833,13 @@ void show_trace(unsigned long *stack)  		if (__kernel_text_address(addr)) {  #ifndef CONFIG_KALLSYMS  			if (i % 5 == 0) -				printk("\n       "); +				pr_cont("\n       ");  #endif -			printk(" [<%08lx>] %pS\n", addr, (void *)addr); +			pr_cont(" [<%08lx>] %pS\n", addr, (void *)addr);  			i++;  		}  	} -	printk("\n"); +	pr_cont("\n");  }  void show_registers(struct pt_regs *regs) @@ -887,81 +851,87 @@ void show_registers(struct pt_regs *regs)  	int i;  	print_modules(); -	printk("PC: [<%08lx>] %pS\n", regs->pc, (void *)regs->pc); -	printk("SR: %04x  SP: %p  a2: %08lx\n", regs->sr, regs, regs->a2); -	printk("d0: %08lx    d1: %08lx    d2: %08lx    d3: %08lx\n", +	pr_info("PC: [<%08lx>] %pS\n", regs->pc, (void *)regs->pc); +	pr_info("SR: %04x  SP: %p  a2: %08lx\n", regs->sr, regs, regs->a2); +	pr_info("d0: %08lx    d1: %08lx    d2: %08lx    d3: %08lx\n",  	       regs->d0, regs->d1, regs->d2, regs->d3); -	printk("d4: %08lx    d5: %08lx    a0: %08lx    a1: %08lx\n", +	pr_info("d4: %08lx    d5: %08lx    a0: %08lx    a1: %08lx\n",  	       regs->d4, regs->d5, regs->a0, regs->a1); -	printk("Process %s (pid: %d, task=%p)\n", +	pr_info("Process %s (pid: %d, task=%p)\n",  		current->comm, task_pid_nr(current), current);  	addr = (unsigned long)&fp->un; -	printk("Frame format=%X ", regs->format); +	pr_info("Frame format=%X ", regs->format);  	switch (regs->format) {  	case 0x2: -		printk("instr addr=%08lx\n", fp->un.fmt2.iaddr); +		pr_cont("instr addr=%08lx\n", fp->un.fmt2.iaddr);  		addr += sizeof(fp->un.fmt2);  		break;  	case 0x3: -		printk("eff addr=%08lx\n", fp->un.fmt3.effaddr); +		pr_cont("eff addr=%08lx\n", fp->un.fmt3.effaddr);  		addr += sizeof(fp->un.fmt3);  		break;  	case 0x4: -		printk((CPU_IS_060 ? "fault addr=%08lx fslw=%08lx\n" -			: "eff addr=%08lx pc=%08lx\n"), -			fp->un.fmt4.effaddr, fp->un.fmt4.pc); +		if (CPU_IS_060) +			pr_cont("fault addr=%08lx fslw=%08lx\n", +				fp->un.fmt4.effaddr, fp->un.fmt4.pc); +		else +			pr_cont("eff addr=%08lx pc=%08lx\n", +				fp->un.fmt4.effaddr, fp->un.fmt4.pc);  		addr += sizeof(fp->un.fmt4);  		break;  	case 0x7: -		printk("eff addr=%08lx ssw=%04x faddr=%08lx\n", +		pr_cont("eff addr=%08lx ssw=%04x faddr=%08lx\n",  			fp->un.fmt7.effaddr, fp->un.fmt7.ssw, fp->un.fmt7.faddr); -		printk("wb 1 stat/addr/data: %04x %08lx %08lx\n", +		pr_info("wb 1 stat/addr/data: %04x %08lx %08lx\n",  			fp->un.fmt7.wb1s, fp->un.fmt7.wb1a, fp->un.fmt7.wb1dpd0); -		printk("wb 2 stat/addr/data: %04x %08lx %08lx\n", +		pr_info("wb 2 stat/addr/data: %04x %08lx %08lx\n",  			fp->un.fmt7.wb2s, fp->un.fmt7.wb2a, fp->un.fmt7.wb2d); -		printk("wb 3 stat/addr/data: %04x %08lx %08lx\n", +		pr_info("wb 3 stat/addr/data: %04x %08lx %08lx\n",  			fp->un.fmt7.wb3s, fp->un.fmt7.wb3a, fp->un.fmt7.wb3d); -		printk("push data: %08lx %08lx %08lx %08lx\n", +		pr_info("push data: %08lx %08lx %08lx %08lx\n",  			fp->un.fmt7.wb1dpd0, fp->un.fmt7.pd1, fp->un.fmt7.pd2,  			fp->un.fmt7.pd3);  		addr += sizeof(fp->un.fmt7);  		break;  	case 0x9: -		printk("instr addr=%08lx\n", fp->un.fmt9.iaddr); +		pr_cont("instr addr=%08lx\n", fp->un.fmt9.iaddr);  		addr += sizeof(fp->un.fmt9);  		break;  	case 0xa: -		printk("ssw=%04x isc=%04x isb=%04x daddr=%08lx dobuf=%08lx\n", +		pr_cont("ssw=%04x isc=%04x isb=%04x daddr=%08lx dobuf=%08lx\n",  			fp->un.fmta.ssw, fp->un.fmta.isc, fp->un.fmta.isb,  			fp->un.fmta.daddr, fp->un.fmta.dobuf);  		addr += sizeof(fp->un.fmta);  		break;  	case 0xb: -		printk("ssw=%04x isc=%04x isb=%04x daddr=%08lx dobuf=%08lx\n", +		pr_cont("ssw=%04x isc=%04x isb=%04x daddr=%08lx dobuf=%08lx\n",  			fp->un.fmtb.ssw, fp->un.fmtb.isc, fp->un.fmtb.isb,  			fp->un.fmtb.daddr, fp->un.fmtb.dobuf); -		printk("baddr=%08lx dibuf=%08lx ver=%x\n", +		pr_info("baddr=%08lx dibuf=%08lx ver=%x\n",  			fp->un.fmtb.baddr, fp->un.fmtb.dibuf, fp->un.fmtb.ver);  		addr += sizeof(fp->un.fmtb);  		break;  	default: -		printk("\n"); +		pr_cont("\n");  	}  	show_stack(NULL, (unsigned long *)addr); -	printk("Code:"); +	pr_info("Code:");  	set_fs(KERNEL_DS);  	cp = (u16 *)regs->pc;  	for (i = -8; i < 16; i++) {  		if (get_user(c, cp + i) && i >= 0) { -			printk(" Bad PC value."); +			pr_cont(" Bad PC value.");  			break;  		} -		printk(i ? " %04x" : " <%04x>", c); +		if (i) +			pr_cont(" %04x", c); +		else +			pr_cont(" <%04x>", c);  	}  	set_fs(old_fs); -	printk ("\n"); +	pr_cont("\n");  }  void show_stack(struct task_struct *task, unsigned long *stack) @@ -978,16 +948,16 @@ void show_stack(struct task_struct *task, unsigned long *stack)  	}  	endstack = (unsigned long *)(((unsigned long)stack + THREAD_SIZE - 1) & -THREAD_SIZE); -	printk("Stack from %08lx:", (unsigned long)stack); +	pr_info("Stack from %08lx:", (unsigned long)stack);  	p = stack;  	for (i = 0; i < kstack_depth_to_print; i++) {  		if (p + 1 > endstack)  			break;  		if (i % 8 == 0) -			printk("\n       "); -		printk(" %08lx", *p++); +			pr_cont("\n       "); +		pr_cont(" %08lx", *p++);  	} -	printk("\n"); +	pr_cont("\n");  	show_trace(stack);  } @@ -1005,32 +975,32 @@ void bad_super_trap (struct frame *fp)  	console_verbose();  	if (vector < ARRAY_SIZE(vec_names)) -		printk ("*** %s ***   FORMAT=%X\n", +		pr_err("*** %s ***   FORMAT=%X\n",  			vec_names[vector],  			fp->ptregs.format);  	else -		printk ("*** Exception %d ***   FORMAT=%X\n", +		pr_err("*** Exception %d ***   FORMAT=%X\n",  			vector, fp->ptregs.format);  	if (vector == VEC_ADDRERR && CPU_IS_020_OR_030) {  		unsigned short ssw = fp->un.fmtb.ssw; -		printk ("SSW=%#06x  ", ssw); +		pr_err("SSW=%#06x  ", ssw);  		if (ssw & RC) -			printk ("Pipe stage C instruction fault at %#010lx\n", +			pr_err("Pipe stage C instruction fault at %#010lx\n",  				(fp->ptregs.format) == 0xA ?  				fp->ptregs.pc + 2 : fp->un.fmtb.baddr - 2);  		if (ssw & RB) -			printk ("Pipe stage B instruction fault at %#010lx\n", +			pr_err("Pipe stage B instruction fault at %#010lx\n",  				(fp->ptregs.format) == 0xA ?  				fp->ptregs.pc + 4 : fp->un.fmtb.baddr);  		if (ssw & DF) -			printk ("Data %s fault at %#010lx in %s (pc=%#lx)\n", +			pr_err("Data %s fault at %#010lx in %s (pc=%#lx)\n",  				ssw & RW ? "read" : "write",  				fp->un.fmtb.daddr, space_names[ssw & DFC],  				fp->ptregs.pc);  	} -	printk ("Current process id is %d\n", task_pid_nr(current)); +	pr_err("Current process id is %d\n", task_pid_nr(current));  	die_if_kernel("BAD KERNEL TRAP", &fp->ptregs, 0);  } @@ -1162,7 +1132,7 @@ void die_if_kernel (char *str, struct pt_regs *fp, int nr)  		return;  	console_verbose(); -	printk("%s: %08x\n",str,nr); +	pr_crit("%s: %08x\n", str, nr);  	show_registers(fp);  	add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);  	do_exit(SIGSEGV); diff --git a/arch/m68k/mac/config.c b/arch/m68k/mac/config.c index afb95d5fb26..a471eab1a4d 100644 --- a/arch/m68k/mac/config.c +++ b/arch/m68k/mac/config.c @@ -26,9 +26,10 @@  #include <linux/adb.h>  #include <linux/cuda.h> -#define BOOTINFO_COMPAT_1_0  #include <asm/setup.h>  #include <asm/bootinfo.h> +#include <asm/bootinfo-mac.h> +#include <asm/byteorder.h>  #include <asm/io.h>  #include <asm/irq.h> @@ -70,31 +71,6 @@ static void mac_get_model(char *str);  static void mac_identify(void);  static void mac_report_hardware(void); -#ifdef CONFIG_EARLY_PRINTK -asmlinkage void __init mac_early_print(const char *s, unsigned n); - -static void __init mac_early_cons_write(struct console *con, -                                 const char *s, unsigned n) -{ -	mac_early_print(s, n); -} - -static struct console __initdata mac_early_cons = { -	.name  = "early", -	.write = mac_early_cons_write, -	.flags = CON_PRINTBUFFER | CON_BOOT, -	.index = -1 -}; - -int __init mac_unregister_early_cons(void) -{ -	/* mac_early_print can't be used after init sections are discarded */ -	return unregister_console(&mac_early_cons); -} - -late_initcall(mac_unregister_early_cons); -#endif -  static void __init mac_sched_init(irq_handler_t vector)  {  	via_init_clock(vector); @@ -107,45 +83,46 @@ static void __init mac_sched_init(irq_handler_t vector)  int __init mac_parse_bootinfo(const struct bi_record *record)  {  	int unknown = 0; -	const u_long *data = record->data; +	const void *data = record->data; -	switch (record->tag) { +	switch (be16_to_cpu(record->tag)) {  	case BI_MAC_MODEL: -		mac_bi_data.id = *data; +		mac_bi_data.id = be32_to_cpup(data);  		break;  	case BI_MAC_VADDR: -		mac_bi_data.videoaddr = *data; +		mac_bi_data.videoaddr = be32_to_cpup(data);  		break;  	case BI_MAC_VDEPTH: -		mac_bi_data.videodepth = *data; +		mac_bi_data.videodepth = be32_to_cpup(data);  		break;  	case BI_MAC_VROW: -		mac_bi_data.videorow = *data; +		mac_bi_data.videorow = be32_to_cpup(data);  		break;  	case BI_MAC_VDIM: -		mac_bi_data.dimensions = *data; +		mac_bi_data.dimensions = be32_to_cpup(data);  		break;  	case BI_MAC_VLOGICAL: -		mac_bi_data.videological = VIDEOMEMBASE + (*data & ~VIDEOMEMMASK); -		mac_orig_videoaddr = *data; +		mac_orig_videoaddr = be32_to_cpup(data); +		mac_bi_data.videological = +			VIDEOMEMBASE + (mac_orig_videoaddr & ~VIDEOMEMMASK);  		break;  	case BI_MAC_SCCBASE: -		mac_bi_data.sccbase = *data; +		mac_bi_data.sccbase = be32_to_cpup(data);  		break;  	case BI_MAC_BTIME: -		mac_bi_data.boottime = *data; +		mac_bi_data.boottime = be32_to_cpup(data);  		break;  	case BI_MAC_GMTBIAS: -		mac_bi_data.gmtbias = *data; +		mac_bi_data.gmtbias = be32_to_cpup(data);  		break;  	case BI_MAC_MEMSIZE: -		mac_bi_data.memsize = *data; +		mac_bi_data.memsize = be32_to_cpup(data);  		break;  	case BI_MAC_CPUID: -		mac_bi_data.cpuid = *data; +		mac_bi_data.cpuid = be32_to_cpup(data);  		break;  	case BI_MAC_ROMBASE: -		mac_bi_data.rombase = *data; +		mac_bi_data.rombase = be32_to_cpup(data);  		break;  	default:  		unknown = 1; @@ -188,10 +165,6 @@ void __init config_mac(void)  	mach_beep = mac_mksound;  #endif -#ifdef CONFIG_EARLY_PRINTK -	register_console(&mac_early_cons); -#endif -  	/*  	 * Determine hardware present  	 */ diff --git a/arch/m68k/mac/iop.c b/arch/m68k/mac/iop.c index 7d8d46127ad..4d2adfb32a2 100644 --- a/arch/m68k/mac/iop.c +++ b/arch/m68k/mac/iop.c @@ -111,16 +111,15 @@  #include <linux/init.h>  #include <linux/interrupt.h> -#include <asm/bootinfo.h>  #include <asm/macintosh.h>  #include <asm/macints.h>  #include <asm/mac_iop.h>  /*#define DEBUG_IOP*/ -/* Set to non-zero if the IOPs are present. Set by iop_init() */ +/* Non-zero if the IOPs are present */ -int iop_scc_present,iop_ism_present; +int iop_scc_present, iop_ism_present;  /* structure for tracking channel listeners */ diff --git a/arch/m68k/mac/misc.c b/arch/m68k/mac/misc.c index 5e085554ac7..707b61aea20 100644 --- a/arch/m68k/mac/misc.c +++ b/arch/m68k/mac/misc.c @@ -25,8 +25,6 @@  #include <asm/mac_via.h>  #include <asm/mac_oss.h> -#define BOOTINFO_COMPAT_1_0 -#include <asm/bootinfo.h>  #include <asm/machdep.h>  /* Offset between Unix time (1970-based) and Mac time (1904-based) */ diff --git a/arch/m68k/mac/oss.c b/arch/m68k/mac/oss.c index 6c4c882c126..54037125ebf 100644 --- a/arch/m68k/mac/oss.c +++ b/arch/m68k/mac/oss.c @@ -21,7 +21,6 @@  #include <linux/init.h>  #include <linux/irq.h> -#include <asm/bootinfo.h>  #include <asm/macintosh.h>  #include <asm/macints.h>  #include <asm/mac_via.h> diff --git a/arch/m68k/mac/psc.c b/arch/m68k/mac/psc.c index 6f026fc302f..835fa04511c 100644 --- a/arch/m68k/mac/psc.c +++ b/arch/m68k/mac/psc.c @@ -21,7 +21,6 @@  #include <linux/irq.h>  #include <asm/traps.h> -#include <asm/bootinfo.h>  #include <asm/macintosh.h>  #include <asm/macints.h>  #include <asm/mac_psc.h> @@ -54,7 +53,7 @@ static void psc_debug_dump(void)   * expanded to cover what I think are the other 7 channels.   */ -static void psc_dma_die_die_die(void) +static __init void psc_dma_die_die_die(void)  {  	int i; diff --git a/arch/m68k/mac/via.c b/arch/m68k/mac/via.c index 5d1458bb871..e198dec868e 100644 --- a/arch/m68k/mac/via.c +++ b/arch/m68k/mac/via.c @@ -30,7 +30,6 @@  #include <linux/module.h>  #include <linux/irq.h> -#include <asm/bootinfo.h>  #include <asm/macintosh.h>  #include <asm/macints.h>  #include <asm/mac_via.h> diff --git a/arch/m68k/mm/fault.c b/arch/m68k/mm/fault.c index eb1d61f6872..2bd7487440c 100644 --- a/arch/m68k/mm/fault.c +++ b/arch/m68k/mm/fault.c @@ -25,9 +25,8 @@ int send_fault_sig(struct pt_regs *regs)  	siginfo.si_signo = current->thread.signo;  	siginfo.si_code = current->thread.code;  	siginfo.si_addr = (void *)current->thread.faddr; -#ifdef DEBUG -	printk("send_fault_sig: %p,%d,%d\n", siginfo.si_addr, siginfo.si_signo, siginfo.si_code); -#endif +	pr_debug("send_fault_sig: %p,%d,%d\n", siginfo.si_addr, +		 siginfo.si_signo, siginfo.si_code);  	if (user_mode(regs)) {  		force_sig_info(siginfo.si_signo, @@ -45,10 +44,10 @@ int send_fault_sig(struct pt_regs *regs)  		 * terminate things with extreme prejudice.  		 */  		if ((unsigned long)siginfo.si_addr < PAGE_SIZE) -			printk(KERN_ALERT "Unable to handle kernel NULL pointer dereference"); +			pr_alert("Unable to handle kernel NULL pointer dereference");  		else -			printk(KERN_ALERT "Unable to handle kernel access"); -		printk(" at virtual address %p\n", siginfo.si_addr); +			pr_alert("Unable to handle kernel access"); +		pr_cont(" at virtual address %p\n", siginfo.si_addr);  		die_if_kernel("Oops", regs, 0 /*error_code*/);  		do_exit(SIGKILL);  	} @@ -75,11 +74,8 @@ int do_page_fault(struct pt_regs *regs, unsigned long address,  	int fault;  	unsigned int flags = FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_KILLABLE; -#ifdef DEBUG -	printk ("do page fault:\nregs->sr=%#x, regs->pc=%#lx, address=%#lx, %ld, %p\n", -		regs->sr, regs->pc, address, error_code, -		current->mm->pgd); -#endif +	pr_debug("do page fault:\nregs->sr=%#x, regs->pc=%#lx, address=%#lx, %ld, %p\n", +		regs->sr, regs->pc, address, error_code, mm ? mm->pgd : NULL);  	/*  	 * If we're in an interrupt or have no user @@ -118,9 +114,7 @@ retry:   * we can handle it..   */  good_area: -#ifdef DEBUG -	printk("do_page_fault: good_area\n"); -#endif +	pr_debug("do_page_fault: good_area\n");  	switch (error_code & 3) {  		default:	/* 3: write, present */  			/* fall through */ @@ -143,9 +137,7 @@ good_area:  	 */  	fault = handle_mm_fault(mm, vma, address, flags); -#ifdef DEBUG -	printk("handle_mm_fault returns %d\n",fault); -#endif +	pr_debug("handle_mm_fault returns %d\n", fault);  	if ((fault & VM_FAULT_RETRY) && fatal_signal_pending(current))  		return 0; diff --git a/arch/m68k/mm/init.c b/arch/m68k/mm/init.c index 6b4baa6e4d3..acaff6a49e3 100644 --- a/arch/m68k/mm/init.c +++ b/arch/m68k/mm/init.c @@ -59,7 +59,7 @@ EXPORT_SYMBOL(pg_data_table);  void __init m68k_setup_node(int node)  {  #ifndef CONFIG_SINGLE_MEMORY_CHUNK -	struct mem_info *info = m68k_memory + node; +	struct m68k_mem_info *info = m68k_memory + node;  	int i, end;  	i = (unsigned long)phys_to_virt(info->addr) >> __virt_to_node_shift(); diff --git a/arch/m68k/mm/kmap.c b/arch/m68k/mm/kmap.c index 568cfad3ceb..6e4955bc542 100644 --- a/arch/m68k/mm/kmap.c +++ b/arch/m68k/mm/kmap.c @@ -27,9 +27,9 @@  /*   * For 040/060 we can use the virtual memory area like other architectures, - * but for 020/030 we want to use early termination page descriptor and we + * but for 020/030 we want to use early termination page descriptors and we   * can't mix this with normal page descriptors, so we have to copy that code - * (mm/vmalloc.c) and return appriorate aligned addresses. + * (mm/vmalloc.c) and return appropriately aligned addresses.   */  #ifdef CPU_M68040_OR_M68060_ONLY @@ -224,7 +224,7 @@ void __iomem *__ioremap(unsigned long physaddr, unsigned long size, int cachefla  EXPORT_SYMBOL(__ioremap);  /* - * Unmap a ioremap()ed region again + * Unmap an ioremap()ed region again   */  void iounmap(void __iomem *addr)  { @@ -241,8 +241,8 @@ EXPORT_SYMBOL(iounmap);  /*   * __iounmap unmaps nearly everything, so be careful - * it doesn't free currently pointer/page tables anymore but it - * wans't used anyway and might be added later. + * Currently it doesn't free pointer/page tables anymore but this + * wasn't used anyway and might be added later.   */  void __iounmap(void *addr, unsigned long size)  { diff --git a/arch/m68k/mm/motorola.c b/arch/m68k/mm/motorola.c index 251c5437787..b958916e5ea 100644 --- a/arch/m68k/mm/motorola.c +++ b/arch/m68k/mm/motorola.c @@ -45,7 +45,7 @@ EXPORT_SYMBOL(mm_cachebits);  #endif  /* size of memory already mapped in head.S */ -#define INIT_MAPPED_SIZE	(4UL<<20) +extern __initdata unsigned long m68k_init_mapped_size;  extern unsigned long availmem; @@ -233,7 +233,7 @@ void __init paging_init(void)  			printk("Fix your bootloader or use a memfile to make use of this area!\n");  			m68k_num_memory--;  			memmove(m68k_memory + i, m68k_memory + i + 1, -				(m68k_num_memory - i) * sizeof(struct mem_info)); +				(m68k_num_memory - i) * sizeof(struct m68k_mem_info));  			continue;  		}  		addr = m68k_memory[i].addr + m68k_memory[i].size; @@ -271,10 +271,12 @@ void __init paging_init(void)  	 */  	addr = m68k_memory[0].addr;  	size = m68k_memory[0].size; -	free_bootmem_node(NODE_DATA(0), availmem, min(INIT_MAPPED_SIZE, size) - (availmem - addr)); +	free_bootmem_node(NODE_DATA(0), availmem, +			  min(m68k_init_mapped_size, size) - (availmem - addr));  	map_node(0); -	if (size > INIT_MAPPED_SIZE) -		free_bootmem_node(NODE_DATA(0), addr + INIT_MAPPED_SIZE, size - INIT_MAPPED_SIZE); +	if (size > m68k_init_mapped_size) +		free_bootmem_node(NODE_DATA(0), addr + m68k_init_mapped_size, +				  size - m68k_init_mapped_size);  	for (i = 1; i < m68k_num_memory; i++)  		map_node(i); diff --git a/arch/m68k/mvme147/config.c b/arch/m68k/mvme147/config.c index 1c6262803b9..1bb3ce6634d 100644 --- a/arch/m68k/mvme147/config.c +++ b/arch/m68k/mvme147/config.c @@ -26,6 +26,8 @@  #include <linux/interrupt.h>  #include <asm/bootinfo.h> +#include <asm/bootinfo-vme.h> +#include <asm/byteorder.h>  #include <asm/pgtable.h>  #include <asm/setup.h>  #include <asm/irq.h> @@ -51,9 +53,10 @@ static int bcd2int (unsigned char b);  irq_handler_t tick_handler; -int mvme147_parse_bootinfo(const struct bi_record *bi) +int __init mvme147_parse_bootinfo(const struct bi_record *bi)  { -	if (bi->tag == BI_VME_TYPE || bi->tag == BI_VME_BRDINFO) +	uint16_t tag = be16_to_cpu(bi->tag); +	if (tag == BI_VME_TYPE || tag == BI_VME_BRDINFO)  		return 0;  	else  		return 1; diff --git a/arch/m68k/mvme16x/config.c b/arch/m68k/mvme16x/config.c index 080a342458a..a53803cc66c 100644 --- a/arch/m68k/mvme16x/config.c +++ b/arch/m68k/mvme16x/config.c @@ -29,6 +29,8 @@  #include <linux/module.h>  #include <asm/bootinfo.h> +#include <asm/bootinfo-vme.h> +#include <asm/byteorder.h>  #include <asm/pgtable.h>  #include <asm/setup.h>  #include <asm/irq.h> @@ -60,9 +62,10 @@ unsigned short mvme16x_config;  EXPORT_SYMBOL(mvme16x_config); -int mvme16x_parse_bootinfo(const struct bi_record *bi) +int __init mvme16x_parse_bootinfo(const struct bi_record *bi)  { -	if (bi->tag == BI_VME_TYPE || bi->tag == BI_VME_BRDINFO) +	uint16_t tag = be16_to_cpu(bi->tag); +	if (tag == BI_VME_TYPE || tag == BI_VME_BRDINFO)  		return 0;  	else  		return 1; @@ -87,15 +90,15 @@ static void mvme16x_get_model(char *model)      suf[3] = '\0';      suf[0] = suf[1] ? '-' : '\0'; -    sprintf(model, "Motorola MVME%x%s", p->brdno, suf); +    sprintf(model, "Motorola MVME%x%s", be16_to_cpu(p->brdno), suf);  }  static void mvme16x_get_hardware_list(struct seq_file *m)  { -    p_bdid p = &mvme_bdid; +    uint16_t brdno = be16_to_cpu(mvme_bdid.brdno); -    if (p->brdno == 0x0162 || p->brdno == 0x0172) +    if (brdno == 0x0162 || brdno == 0x0172)      {  	unsigned char rev = *(unsigned char *)MVME162_VERSION_REG; @@ -210,7 +213,7 @@ static void __init mvme16x_init_IRQ (void)  #define CySCRH		(0x22)  #define CyTFTC		(0x80) -static void cons_write(struct console *co, const char *str, unsigned count) +void mvme16x_cons_write(struct console *co, const char *str, unsigned count)  {  	volatile unsigned char *base_addr = (u_char *)CD2401_ADDR;  	volatile u_char sink; @@ -265,26 +268,13 @@ static void cons_write(struct console *co, const char *str, unsigned count)  	base_addr[CyIER] = ier;  } -static struct console cons_info = -{ -	.name	= "sercon", -	.write	= cons_write, -	.flags	= CON_PRINTBUFFER | CON_BOOT, -	.index	= -1, -}; - -static void __init mvme16x_early_console(void) -{ -	register_console(&cons_info); - -	printk(KERN_INFO "MVME16x: early console registered\n"); -}  #endif  void __init config_mvme16x(void)  {      p_bdid p = &mvme_bdid;      char id[40]; +    uint16_t brdno = be16_to_cpu(p->brdno);      mach_max_dma_address = 0xffffffff;      mach_sched_init      = mvme16x_sched_init; @@ -306,18 +296,18 @@ void __init config_mvme16x(void)      }      /* Board type is only set by newer versions of vmelilo/tftplilo */      if (vme_brdtype == 0) -	vme_brdtype = p->brdno; +	vme_brdtype = brdno;      mvme16x_get_model(id);      printk ("\nBRD_ID: %s   BUG %x.%x %02x/%02x/%02x\n", id, p->rev>>4,  					p->rev&0xf, p->yr, p->mth, p->day); -    if (p->brdno == 0x0162 || p->brdno == 0x172) +    if (brdno == 0x0162 || brdno == 0x172)      {  	unsigned char rev = *(unsigned char *)MVME162_VERSION_REG;  	mvme16x_config = rev | MVME16x_CONFIG_GOT_SCCA; -	printk ("MVME%x Hardware status:\n", p->brdno); +	printk ("MVME%x Hardware status:\n", brdno);  	printk ("    CPU Type           68%s040\n",  			rev & MVME16x_CONFIG_GOT_FPU ? "" : "LC");  	printk ("    CPU clock          %dMHz\n", @@ -332,27 +322,17 @@ void __init config_mvme16x(void)      else      {  	mvme16x_config = MVME16x_CONFIG_GOT_LP | MVME16x_CONFIG_GOT_CD2401; - -	/* Dont allow any interrupts from the CD2401 until the interrupt */ -	/* handlers are installed					 */ - -	pcc2chip[PccSCCMICR] = 0x10; -	pcc2chip[PccSCCTICR] = 0x10; -	pcc2chip[PccSCCRICR] = 0x10; -#ifdef CONFIG_EARLY_PRINTK -	mvme16x_early_console(); -#endif      }  }  static irqreturn_t mvme16x_abort_int (int irq, void *dev_id)  { -	p_bdid p = &mvme_bdid;  	unsigned long *new = (unsigned long *)vectors;  	unsigned long *old = (unsigned long *)0xffe00000;  	volatile unsigned char uc, *ucp; +	uint16_t brdno = be16_to_cpu(mvme_bdid.brdno); -	if (p->brdno == 0x0162 || p->brdno == 0x172) +	if (brdno == 0x0162 || brdno == 0x172)  	{  		ucp = (volatile unsigned char *)0xfff42043;  		uc = *ucp | 8; @@ -366,7 +346,7 @@ static irqreturn_t mvme16x_abort_int (int irq, void *dev_id)  	*(new+9) = *(old+9);		/* Trace */  	*(new+47) = *(old+47);		/* Trap #15 */ -	if (p->brdno == 0x0162 || p->brdno == 0x172) +	if (brdno == 0x0162 || brdno == 0x172)  		*(new+0x5e) = *(old+0x5e);	/* ABORT switch */  	else  		*(new+0x6e) = *(old+0x6e);	/* ABORT switch */ @@ -381,7 +361,7 @@ static irqreturn_t mvme16x_timer_int (int irq, void *dev_id)  void mvme16x_sched_init (irq_handler_t timer_routine)  { -    p_bdid p = &mvme_bdid; +    uint16_t brdno = be16_to_cpu(mvme_bdid.brdno);      int irq;      tick_handler = timer_routine; @@ -394,7 +374,7 @@ void mvme16x_sched_init (irq_handler_t timer_routine)  				"timer", mvme16x_timer_int))  	panic ("Couldn't register timer int"); -    if (p->brdno == 0x0162 || p->brdno == 0x172) +    if (brdno == 0x0162 || brdno == 0x172)  	irq = MVME162_IRQ_ABORT;      else          irq = MVME167_IRQ_ABORT; diff --git a/arch/m68k/platform/68000/entry.S b/arch/m68k/platform/68000/entry.S index 7f91c2fde50..23ac054c6e1 100644 --- a/arch/m68k/platform/68000/entry.S +++ b/arch/m68k/platform/68000/entry.S @@ -27,7 +27,6 @@  .globl ret_from_exception  .globl ret_from_signal  .globl sys_call_table -.globl ret_from_interrupt  .globl bad_interrupt  .globl inthandler1  .globl inthandler2 @@ -137,7 +136,7 @@ inthandler1:  	movel	#65,%sp@- 		/*  put vector # on stack*/  	jbsr	process_int		/*  process the IRQ*/  3:     	addql	#8,%sp			/*  pop parameters off stack*/ -	bra	ret_from_interrupt +	bra	ret_from_exception  inthandler2:  	SAVE_ALL_INT @@ -148,7 +147,7 @@ inthandler2:  	movel	#66,%sp@- 		/*  put vector # on stack*/  	jbsr	process_int		/*  process the IRQ*/  3:     	addql	#8,%sp			/*  pop parameters off stack*/ -	bra	ret_from_interrupt +	bra	ret_from_exception  inthandler3:  	SAVE_ALL_INT @@ -159,7 +158,7 @@ inthandler3:  	movel	#67,%sp@- 		/*  put vector # on stack*/  	jbsr	process_int		/*  process the IRQ*/  3:     	addql	#8,%sp			/*  pop parameters off stack*/ -	bra	ret_from_interrupt +	bra	ret_from_exception  inthandler4:  	SAVE_ALL_INT @@ -170,7 +169,7 @@ inthandler4:  	movel	#68,%sp@- 		/*  put vector # on stack*/  	jbsr	process_int		/*  process the IRQ*/  3:     	addql	#8,%sp			/*  pop parameters off stack*/ -	bra	ret_from_interrupt +	bra	ret_from_exception  inthandler5:  	SAVE_ALL_INT @@ -181,7 +180,7 @@ inthandler5:  	movel	#69,%sp@- 		/*  put vector # on stack*/  	jbsr	process_int		/*  process the IRQ*/  3:     	addql	#8,%sp			/*  pop parameters off stack*/ -	bra	ret_from_interrupt +	bra	ret_from_exception  inthandler6:  	SAVE_ALL_INT @@ -192,7 +191,7 @@ inthandler6:  	movel	#70,%sp@- 		/*  put vector # on stack*/  	jbsr	process_int		/*  process the IRQ*/  3:     	addql	#8,%sp			/*  pop parameters off stack*/ -	bra	ret_from_interrupt +	bra	ret_from_exception  inthandler7:  	SAVE_ALL_INT @@ -203,7 +202,7 @@ inthandler7:  	movel	#71,%sp@- 		/*  put vector # on stack*/  	jbsr	process_int		/*  process the IRQ*/  3:     	addql	#8,%sp			/*  pop parameters off stack*/ -	bra	ret_from_interrupt +	bra	ret_from_exception  inthandler:  	SAVE_ALL_INT @@ -214,23 +213,7 @@ inthandler:  	movel	%d0,%sp@- 		/*  put vector # on stack*/  	jbsr	process_int		/*  process the IRQ*/  3:     	addql	#8,%sp			/*  pop parameters off stack*/ -	bra	ret_from_interrupt - -ret_from_interrupt: -	jeq	1f -2: -	RESTORE_ALL -1: -	moveb	%sp@(PT_OFF_SR), %d0 -	and	#7, %d0 -	jhi	2b - -	/* check if we need to do software interrupts */ -	jeq	ret_from_exception - -	pea	ret_from_exception -	jra	do_softirq - +	bra	ret_from_exception  /*   * Handler for uninitialized and spurious interrupts. diff --git a/arch/m68k/platform/68000/m68EZ328.c b/arch/m68k/platform/68000/m68EZ328.c index 332b5e8605f..21952906e9e 100644 --- a/arch/m68k/platform/68000/m68EZ328.c +++ b/arch/m68k/platform/68000/m68EZ328.c @@ -69,7 +69,8 @@ void __init config_BSP(char *command, int len)    if (p) strcpy(p,command);    else command[0] = 0;  #endif -  + +  mach_sched_init = hw_timer_init;    mach_hwclk = m68328_hwclk;    mach_reset = m68ez328_reset;  } diff --git a/arch/m68k/platform/68000/m68VZ328.c b/arch/m68k/platform/68000/m68VZ328.c index fd6658358af..0e5e5a10a02 100644 --- a/arch/m68k/platform/68000/m68VZ328.c +++ b/arch/m68k/platform/68000/m68VZ328.c @@ -182,6 +182,7 @@ void __init config_BSP(char *command, int size)  	init_hardware(command, size); +	mach_sched_init = hw_timer_init;  	mach_hwclk = m68328_hwclk;  	mach_reset = m68vz328_reset;  } diff --git a/arch/m68k/platform/68000/timers.c b/arch/m68k/platform/68000/timers.c index ec30acbfe6d..99a98698bc9 100644 --- a/arch/m68k/platform/68000/timers.c +++ b/arch/m68k/platform/68000/timers.c @@ -70,7 +70,7 @@ static irqreturn_t hw_tick(int irq, void *dummy)  static struct irqaction m68328_timer_irq = {  	.name	 = "timer", -	.flags	 = IRQF_DISABLED | IRQF_TIMER, +	.flags	 = IRQF_TIMER,  	.handler = hw_tick,  }; diff --git a/arch/m68k/platform/68360/config.c b/arch/m68k/platform/68360/config.c index 0570741e550..d493ac43fe3 100644 --- a/arch/m68k/platform/68360/config.c +++ b/arch/m68k/platform/68360/config.c @@ -59,7 +59,7 @@ static irqreturn_t hw_tick(int irq, void *dummy)  static struct irqaction m68360_timer_irq = {  	.name	 = "timer", -	.flags	 = IRQF_DISABLED | IRQF_TIMER, +	.flags	 = IRQF_TIMER,  	.handler = hw_tick,  }; diff --git a/arch/m68k/platform/68360/entry.S b/arch/m68k/platform/68360/entry.S index 904fd9a4af4..447c33ef37f 100644 --- a/arch/m68k/platform/68360/entry.S +++ b/arch/m68k/platform/68360/entry.S @@ -29,7 +29,6 @@  .globl ret_from_exception  .globl ret_from_signal  .globl sys_call_table -.globl ret_from_interrupt  .globl bad_interrupt  .globl inthandler @@ -132,26 +131,9 @@ inthandler:  	movel	%sp,%sp@-  	movel	%d0,%sp@- 		/*  put vector # on stack*/ -	jbsr	do_IRQ			/*  process the IRQ*/ -3:     	addql	#8,%sp			/*  pop parameters off stack*/ -	bra	ret_from_interrupt - -ret_from_interrupt: -	jeq	1f -2: -	RESTORE_ALL -1: -	moveb	%sp@(PT_OFF_SR), %d0 -	and	#7, %d0 -	jhi	2b -	/* check if we need to do software interrupts */ - -	movel	irq_stat+CPUSTAT_SOFTIRQ_PENDING,%d0 -	jeq	ret_from_exception - -	pea	ret_from_exception -	jra	do_softirq - +	jbsr	do_IRQ			/*  process the IRQ */ +	addql	#8,%sp			/*  pop parameters off stack*/ +	jra	ret_from_exception  /*   * Handler for uninitialized and spurious interrupts. diff --git a/arch/m68k/platform/coldfire/gpio.c b/arch/m68k/platform/coldfire/gpio.c index 9cd2b5c7051..e7e428681ec 100644 --- a/arch/m68k/platform/coldfire/gpio.c +++ b/arch/m68k/platform/coldfire/gpio.c @@ -76,10 +76,7 @@ int __mcfgpio_direction_output(unsigned gpio, int value)  	local_irq_save(flags);  	data = mcfgpio_read(__mcfgpio_pddr(gpio)); -	if (value) -		data |= mcfgpio_bit(gpio); -	else -		data &= mcfgpio_bit(gpio); +	data |= mcfgpio_bit(gpio);  	mcfgpio_write(data, __mcfgpio_pddr(gpio));  	/* now set the data to output */ @@ -117,37 +114,51 @@ EXPORT_SYMBOL(__mcfgpio_free);  #ifdef CONFIG_GPIOLIB -int mcfgpio_direction_input(struct gpio_chip *chip, unsigned offset) +static int mcfgpio_direction_input(struct gpio_chip *chip, unsigned offset)  {  	return __mcfgpio_direction_input(offset);  } -int mcfgpio_get_value(struct gpio_chip *chip, unsigned offset) +static int mcfgpio_get_value(struct gpio_chip *chip, unsigned offset)  {  	return __mcfgpio_get_value(offset);  } -int mcfgpio_direction_output(struct gpio_chip *chip, unsigned offset, int value) +static int mcfgpio_direction_output(struct gpio_chip *chip, unsigned offset, +				    int value)  {  	return __mcfgpio_direction_output(offset, value);  } -void mcfgpio_set_value(struct gpio_chip *chip, unsigned offset, int value) +static void mcfgpio_set_value(struct gpio_chip *chip, unsigned offset, +			      int value)  {  	__mcfgpio_set_value(offset, value);  } -int mcfgpio_request(struct gpio_chip *chip, unsigned offset) +static int mcfgpio_request(struct gpio_chip *chip, unsigned offset)  {  	return __mcfgpio_request(offset);  } -void mcfgpio_free(struct gpio_chip *chip, unsigned offset) +static void mcfgpio_free(struct gpio_chip *chip, unsigned offset)  {  	__mcfgpio_free(offset);  } -struct bus_type mcfgpio_subsys = { +static int mcfgpio_to_irq(struct gpio_chip *chip, unsigned offset) +{ +#if defined(MCFGPIO_IRQ_MIN) +	if ((offset >= MCFGPIO_IRQ_MIN) && (offset < MCFGPIO_IRQ_MAX)) +#else +	if (offset < MCFGPIO_IRQ_MAX) +#endif +		return MCFGPIO_IRQ_VECBASE + offset; +	else +		return -EINVAL; +} + +static struct bus_type mcfgpio_subsys = {  	.name		= "gpio",  	.dev_name	= "gpio",  }; @@ -160,6 +171,7 @@ static struct gpio_chip mcfgpio_chip = {  	.direction_output	= mcfgpio_direction_output,  	.get			= mcfgpio_get_value,  	.set			= mcfgpio_set_value, +	.to_irq			= mcfgpio_to_irq,  	.base			= 0,  	.ngpio			= MCFGPIO_PIN_MAX,  }; diff --git a/arch/m68k/platform/coldfire/m520x.c b/arch/m68k/platform/coldfire/m520x.c index ea1be0e98ad..4040a3c9373 100644 --- a/arch/m68k/platform/coldfire/m520x.c +++ b/arch/m68k/platform/coldfire/m520x.c @@ -118,10 +118,9 @@ static void __init m520x_clk_init(void)  /***************************************************************************/ -#if IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI) -  static void __init m520x_qspi_init(void)  { +#if IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI)  	u16 par;  	/* setup Port QS for QSPI with gpio CS control */  	writeb(0x3f, MCF_GPIO_PAR_QSPI); @@ -129,9 +128,8 @@ static void __init m520x_qspi_init(void)  	par = readw(MCF_GPIO_PAR_UART);  	par &= 0x00ff;  	writew(par, MCF_GPIO_PAR_UART); -} -  #endif /* IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI) */ +}  /***************************************************************************/ @@ -176,9 +174,7 @@ void __init config_BSP(char *commandp, int size)  	m520x_clk_init();  	m520x_uarts_init();  	m520x_fec_init(); -#if IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI)  	m520x_qspi_init(); -#endif  }  /***************************************************************************/ diff --git a/arch/m68k/platform/coldfire/m523x.c b/arch/m68k/platform/coldfire/m523x.c index 2b10e9f198c..6b7135e6d5b 100644 --- a/arch/m68k/platform/coldfire/m523x.c +++ b/arch/m68k/platform/coldfire/m523x.c @@ -32,6 +32,7 @@ DEFINE_CLK(mcfpit3, "mcfpit.3", MCF_CLK);  DEFINE_CLK(mcfuart0, "mcfuart.0", MCF_BUSCLK);  DEFINE_CLK(mcfuart1, "mcfuart.1", MCF_BUSCLK);  DEFINE_CLK(mcfuart2, "mcfuart.2", MCF_BUSCLK); +DEFINE_CLK(mcfqspi0, "mcfqspi.0", MCF_BUSCLK);  DEFINE_CLK(fec0, "fec.0", MCF_BUSCLK);  struct clk *mcf_clks[] = { @@ -44,16 +45,16 @@ struct clk *mcf_clks[] = {  	&clk_mcfuart0,  	&clk_mcfuart1,  	&clk_mcfuart2, +	&clk_mcfqspi0,  	&clk_fec0,  	NULL  };  /***************************************************************************/ -#if IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI) -  static void __init m523x_qspi_init(void)  { +#if IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI)  	u16 par;  	/* setup QSPS pins for QSPI with gpio CS control */ @@ -62,9 +63,8 @@ static void __init m523x_qspi_init(void)  	par = readw(MCFGPIO_PAR_TIMER);  	par &= 0x3f3f;  	writew(par, MCFGPIO_PAR_TIMER); -} -  #endif /* IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI) */ +}  /***************************************************************************/ @@ -80,9 +80,7 @@ void __init config_BSP(char *commandp, int size)  {  	mach_sched_init = hw_timer_init;  	m523x_fec_init(); -#if IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI)  	m523x_qspi_init(); -#endif  }  /***************************************************************************/ diff --git a/arch/m68k/platform/coldfire/m5249.c b/arch/m68k/platform/coldfire/m5249.c index c80b5e51d29..f6253a3313b 100644 --- a/arch/m68k/platform/coldfire/m5249.c +++ b/arch/m68k/platform/coldfire/m5249.c @@ -26,6 +26,7 @@ DEFINE_CLK(mcftmr0, "mcftmr.0", MCF_BUSCLK);  DEFINE_CLK(mcftmr1, "mcftmr.1", MCF_BUSCLK);  DEFINE_CLK(mcfuart0, "mcfuart.0", MCF_BUSCLK);  DEFINE_CLK(mcfuart1, "mcfuart.1", MCF_BUSCLK); +DEFINE_CLK(mcfqspi0, "mcfqspi.0", MCF_BUSCLK);  struct clk *mcf_clks[] = {  	&clk_pll, @@ -34,6 +35,7 @@ struct clk *mcf_clks[] = {  	&clk_mcftmr1,  	&clk_mcfuart0,  	&clk_mcfuart1, +	&clk_mcfqspi0,  	NULL  }; @@ -71,17 +73,15 @@ static struct platform_device *m5249_devices[] __initdata = {  /***************************************************************************/ -#if IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI) -  static void __init m5249_qspi_init(void)  { +#if IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI)  	/* QSPI irq setup */  	writeb(MCFSIM_ICR_AUTOVEC | MCFSIM_ICR_LEVEL4 | MCFSIM_ICR_PRI0,  	       MCFSIM_QSPIICR);  	mcf_mapirq2imr(MCF_IRQ_QSPI, MCFINTC_QSPI); -} -  #endif /* IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI) */ +}  /***************************************************************************/ @@ -110,9 +110,7 @@ void __init config_BSP(char *commandp, int size)  #ifdef CONFIG_M5249C3  	m5249_smc91x_init();  #endif -#if IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI)  	m5249_qspi_init(); -#endif  }  /***************************************************************************/ diff --git a/arch/m68k/platform/coldfire/m525x.c b/arch/m68k/platform/coldfire/m525x.c index 5b9f657b2df..1adba390903 100644 --- a/arch/m68k/platform/coldfire/m525x.c +++ b/arch/m68k/platform/coldfire/m525x.c @@ -26,6 +26,7 @@ DEFINE_CLK(mcftmr0, "mcftmr.0", MCF_BUSCLK);  DEFINE_CLK(mcftmr1, "mcftmr.1", MCF_BUSCLK);  DEFINE_CLK(mcfuart0, "mcfuart.0", MCF_BUSCLK);  DEFINE_CLK(mcfuart1, "mcfuart.1", MCF_BUSCLK); +DEFINE_CLK(mcfqspi0, "mcfqspi.0", MCF_BUSCLK);  struct clk *mcf_clks[] = {  	&clk_pll, @@ -34,6 +35,7 @@ struct clk *mcf_clks[] = {  	&clk_mcftmr1,  	&clk_mcfuart0,  	&clk_mcfuart1, +	&clk_mcfqspi0,  	NULL  }; diff --git a/arch/m68k/platform/coldfire/m5272.c b/arch/m68k/platform/coldfire/m5272.c index a8c5856fe5e..8a4d3cc322c 100644 --- a/arch/m68k/platform/coldfire/m5272.c +++ b/arch/m68k/platform/coldfire/m5272.c @@ -39,6 +39,7 @@ DEFINE_CLK(mcftmr2, "mcftmr.2", MCF_BUSCLK);  DEFINE_CLK(mcftmr3, "mcftmr.3", MCF_BUSCLK);  DEFINE_CLK(mcfuart0, "mcfuart.0", MCF_BUSCLK);  DEFINE_CLK(mcfuart1, "mcfuart.1", MCF_BUSCLK); +DEFINE_CLK(mcfqspi0, "mcfqspi.0", MCF_BUSCLK);  DEFINE_CLK(fec0, "fec.0", MCF_BUSCLK);  struct clk *mcf_clks[] = { @@ -50,6 +51,7 @@ struct clk *mcf_clks[] = {  	&clk_mcftmr3,  	&clk_mcfuart0,  	&clk_mcfuart1, +	&clk_mcfqspi0,  	&clk_fec0,  	NULL  }; diff --git a/arch/m68k/platform/coldfire/m527x.c b/arch/m68k/platform/coldfire/m527x.c index 6fbfe9096c3..62d81ef016f 100644 --- a/arch/m68k/platform/coldfire/m527x.c +++ b/arch/m68k/platform/coldfire/m527x.c @@ -33,6 +33,7 @@ DEFINE_CLK(mcfpit3, "mcfpit.3", MCF_CLK);  DEFINE_CLK(mcfuart0, "mcfuart.0", MCF_BUSCLK);  DEFINE_CLK(mcfuart1, "mcfuart.1", MCF_BUSCLK);  DEFINE_CLK(mcfuart2, "mcfuart.2", MCF_BUSCLK); +DEFINE_CLK(mcfqspi0, "mcfqspi.0", MCF_BUSCLK);  DEFINE_CLK(fec0, "fec.0", MCF_BUSCLK);  DEFINE_CLK(fec1, "fec.1", MCF_BUSCLK); @@ -46,6 +47,7 @@ struct clk *mcf_clks[] = {  	&clk_mcfuart0,  	&clk_mcfuart1,  	&clk_mcfuart2, +	&clk_mcfqspi0,  	&clk_fec0,  	&clk_fec1,  	NULL @@ -53,10 +55,9 @@ struct clk *mcf_clks[] = {  /***************************************************************************/ -#if IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI) -  static void __init m527x_qspi_init(void)  { +#if IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI)  #if defined(CONFIG_M5271)  	u16 par; @@ -70,9 +71,8 @@ static void __init m527x_qspi_init(void)  	/* setup QSPS pins for QSPI with gpio CS control */  	writew(0x003e, MCFGPIO_PAR_QSPI);  #endif -} -  #endif /* IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI) */ +}  /***************************************************************************/ @@ -120,9 +120,7 @@ void __init config_BSP(char *commandp, int size)  	mach_sched_init = hw_timer_init;  	m527x_uarts_init();  	m527x_fec_init(); -#if IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI)  	m527x_qspi_init(); -#endif  }  /***************************************************************************/ diff --git a/arch/m68k/platform/coldfire/m528x.c b/arch/m68k/platform/coldfire/m528x.c index b03a9d27183..21cd161d36f 100644 --- a/arch/m68k/platform/coldfire/m528x.c +++ b/arch/m68k/platform/coldfire/m528x.c @@ -34,6 +34,7 @@ DEFINE_CLK(mcfpit3, "mcfpit.3", MCF_CLK);  DEFINE_CLK(mcfuart0, "mcfuart.0", MCF_BUSCLK);  DEFINE_CLK(mcfuart1, "mcfuart.1", MCF_BUSCLK);  DEFINE_CLK(mcfuart2, "mcfuart.2", MCF_BUSCLK); +DEFINE_CLK(mcfqspi0, "mcfqspi.0", MCF_BUSCLK);  DEFINE_CLK(fec0, "fec.0", MCF_BUSCLK);  struct clk *mcf_clks[] = { @@ -46,21 +47,20 @@ struct clk *mcf_clks[] = {  	&clk_mcfuart0,  	&clk_mcfuart1,  	&clk_mcfuart2, +	&clk_mcfqspi0,  	&clk_fec0,  	NULL  };  /***************************************************************************/ -#if IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI) -  static void __init m528x_qspi_init(void)  { +#if IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI)  	/* setup Port QS for QSPI with gpio CS control */  	__raw_writeb(0x07, MCFGPIO_PQSPAR); -} -  #endif /* IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI) */ +}  /***************************************************************************/ @@ -126,9 +126,7 @@ void __init config_BSP(char *commandp, int size)  	mach_sched_init = hw_timer_init;  	m528x_uarts_init();  	m528x_fec_init(); -#if IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI)  	m528x_qspi_init(); -#endif  }  /***************************************************************************/ diff --git a/arch/m68k/platform/coldfire/m53xx.c b/arch/m68k/platform/coldfire/m53xx.c index 5286f98fbed..80879a7fe3d 100644 --- a/arch/m68k/platform/coldfire/m53xx.c +++ b/arch/m68k/platform/coldfire/m53xx.c @@ -166,15 +166,13 @@ static void __init m53xx_clk_init(void)  /***************************************************************************/ -#if IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI) -  static void __init m53xx_qspi_init(void)  { +#if IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI)  	/* setup QSPS pins for QSPI with gpio CS control */  	writew(0x01f0, MCFGPIO_PAR_QSPI); -} -  #endif /* IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI) */ +}  /***************************************************************************/ @@ -219,9 +217,7 @@ void __init config_BSP(char *commandp, int size)  	m53xx_clk_init();  	m53xx_uarts_init();  	m53xx_fec_init(); -#if IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI)  	m53xx_qspi_init(); -#endif  #ifdef CONFIG_BDM_DISABLE  	/* diff --git a/arch/m68k/platform/coldfire/pit.c b/arch/m68k/platform/coldfire/pit.c index e8f3b97b0f7..493b3111d4c 100644 --- a/arch/m68k/platform/coldfire/pit.c +++ b/arch/m68k/platform/coldfire/pit.c @@ -118,7 +118,7 @@ static irqreturn_t pit_tick(int irq, void *dummy)  static struct irqaction pit_irq = {  	.name	 = "timer", -	.flags	 = IRQF_DISABLED | IRQF_TIMER, +	.flags	 = IRQF_TIMER,  	.handler = pit_tick,  }; diff --git a/arch/m68k/platform/coldfire/sltimers.c b/arch/m68k/platform/coldfire/sltimers.c index bb5a25ada84..831a08cf6f4 100644 --- a/arch/m68k/platform/coldfire/sltimers.c +++ b/arch/m68k/platform/coldfire/sltimers.c @@ -51,7 +51,7 @@ irqreturn_t mcfslt_profile_tick(int irq, void *dummy)  static struct irqaction mcfslt_profile_irq = {  	.name	 = "profile timer", -	.flags	 = IRQF_DISABLED | IRQF_TIMER, +	.flags	 = IRQF_TIMER,  	.handler = mcfslt_profile_tick,  }; @@ -93,7 +93,7 @@ static irqreturn_t mcfslt_tick(int irq, void *dummy)  static struct irqaction mcfslt_timer_irq = {  	.name	 = "timer", -	.flags	 = IRQF_DISABLED | IRQF_TIMER, +	.flags	 = IRQF_TIMER,  	.handler = mcfslt_tick,  }; diff --git a/arch/m68k/platform/coldfire/timers.c b/arch/m68k/platform/coldfire/timers.c index d06068e4576..cd496a20fcc 100644 --- a/arch/m68k/platform/coldfire/timers.c +++ b/arch/m68k/platform/coldfire/timers.c @@ -83,7 +83,7 @@ static irqreturn_t mcftmr_tick(int irq, void *dummy)  static struct irqaction mcftmr_timer_irq = {  	.name	 = "timer", -	.flags	 = IRQF_DISABLED | IRQF_TIMER, +	.flags	 = IRQF_TIMER,  	.handler = mcftmr_tick,  }; @@ -171,7 +171,7 @@ irqreturn_t coldfire_profile_tick(int irq, void *dummy)  static struct irqaction coldfire_profile_irq = {  	.name	 = "profile timer", -	.flags	 = IRQF_DISABLED | IRQF_TIMER, +	.flags	 = IRQF_TIMER,  	.handler = coldfire_profile_tick,  }; diff --git a/arch/m68k/q40/config.c b/arch/m68k/q40/config.c index 078bb744b5f..e90fe903613 100644 --- a/arch/m68k/q40/config.c +++ b/arch/m68k/q40/config.c @@ -154,7 +154,7 @@ static unsigned int serports[] =  	0x3f8,0x2f8,0x3e8,0x2e8,0  }; -static void q40_disable_irqs(void) +static void __init q40_disable_irqs(void)  {  	unsigned i, j; @@ -198,7 +198,7 @@ void __init config_q40(void)  } -int q40_parse_bootinfo(const struct bi_record *rec) +int __init q40_parse_bootinfo(const struct bi_record *rec)  {  	return 1;  } diff --git a/arch/m68k/sun3/dvma.c b/arch/m68k/sun3/dvma.c index d522eaab455..d95506e06c2 100644 --- a/arch/m68k/sun3/dvma.c +++ b/arch/m68k/sun3/dvma.c @@ -7,6 +7,7 @@   *   */ +#include <linux/init.h>  #include <linux/kernel.h>  #include <linux/mm.h>  #include <linux/bootmem.h> @@ -62,10 +63,7 @@ int dvma_map_iommu(unsigned long kaddr, unsigned long baddr,  } -void sun3_dvma_init(void) +void __init sun3_dvma_init(void)  { -  	memset(ptelist, 0, sizeof(ptelist)); - -  } diff --git a/arch/m68k/sun3/mmu_emu.c b/arch/m68k/sun3/mmu_emu.c index 8edc510a21b..3f258e230ba 100644 --- a/arch/m68k/sun3/mmu_emu.c +++ b/arch/m68k/sun3/mmu_emu.c @@ -6,6 +6,7 @@  ** Started 1/16/98 @ 2:22 am  */ +#include <linux/init.h>  #include <linux/mman.h>  #include <linux/mm.h>  #include <linux/kernel.h> @@ -122,7 +123,7 @@ void print_pte_vaddr (unsigned long vaddr)  /*   * Initialise the MMU emulator.   */ -void mmu_emu_init(unsigned long bootmem_end) +void __init mmu_emu_init(unsigned long bootmem_end)  {  	unsigned long seg, num;  	int i,j; diff --git a/arch/m68k/sun3/sun3dvma.c b/arch/m68k/sun3/sun3dvma.c index cab54482ca3..b37521a5259 100644 --- a/arch/m68k/sun3/sun3dvma.c +++ b/arch/m68k/sun3/sun3dvma.c @@ -6,6 +6,8 @@   * Contains common routines for sun3/sun3x DVMA management.   */ +#include <linux/bootmem.h> +#include <linux/init.h>  #include <linux/module.h>  #include <linux/kernel.h>  #include <linux/gfp.h> @@ -30,7 +32,7 @@ static inline void dvma_unmap_iommu(unsigned long a, int b)  extern void sun3_dvma_init(void);  #endif -static unsigned long iommu_use[IOMMU_TOTAL_ENTRIES]; +static unsigned long *iommu_use;  #define dvma_index(baddr) ((baddr - DVMA_START) >> DVMA_PAGE_SHIFT) @@ -245,7 +247,7 @@ static inline int free_baddr(unsigned long baddr)  } -void dvma_init(void) +void __init dvma_init(void)  {  	struct hole *hole; @@ -265,7 +267,7 @@ void dvma_init(void)  	list_add(&(hole->list), &hole_list); -	memset(iommu_use, 0, sizeof(iommu_use)); +	iommu_use = alloc_bootmem(IOMMU_TOTAL_ENTRIES * sizeof(unsigned long));  	dvma_unmap_iommu(DVMA_START, DVMA_SIZE); diff --git a/arch/m68k/sun3x/prom.c b/arch/m68k/sun3x/prom.c index a7b7e818d62..0898c3f8150 100644 --- a/arch/m68k/sun3x/prom.c +++ b/arch/m68k/sun3x/prom.c @@ -10,7 +10,6 @@  #include <asm/page.h>  #include <asm/pgtable.h> -#include <asm/bootinfo.h>  #include <asm/setup.h>  #include <asm/traps.h>  #include <asm/sun3xprom.h>  | 
