NetBSD/sys/arch
maxv a56d0ceb2a There is an issue in the way the fillkpt macro sets up pages on both
amd64 and i386.

The fillkpt loop is equivalent to the following:

	do {
		/* fill in the slot */
		/* increment %ebx to the next slot */
		/* increment %eax to the next pa */
	} while (%ecx > 0)

The issue here is that if %ecx = 0 (i.e., the chunk we are trying to
map is zero-sized), there is still one entry created in the page table.
The kernel expects the va<->pa translation to be linear in low memory.
If there is a zero-sized chunk, the dead entry creates a +4096 offset in
the virtual space, with two consecutive entries that point to the same
physical address. In other words, the mappings are not linear anymore,
which causes the kernel to die.

Before my recent changes, there were only two big chunks that were
mapped, and neither of these could be zero-sized. Now, with multiple,
fine-grained chunks, it is possible that the [SYMS]+[PRELOADED_MODULES]
chunk could be zero-sized.

[PRELOADED_MODULES] is almost never here, and [SYMS] is always here on
default kernels. Except for floppies, where the bootloader does not load
[SYMS].

Should fix PR 51148.
2016-05-26 07:24:55 +00:00
..
aarch64 Fix config(1) errors and warnings. 2016-05-05 21:14:14 +00:00
acorn26 remove a bunch of "@echo done" from the tail of rules. these messages 2016-03-22 08:25:22 +00:00
acorn32 remove a bunch of "@echo done" from the tail of rules. these messages 2016-03-22 08:25:22 +00:00
algor Add mips fenv.h (From FreeBSD) 2015-12-21 17:02:32 +00:00
alpha Disable uscanner in all kernel configs 2016-03-19 23:21:02 +00:00
amd64 There is an issue in the way the fillkpt macro sets up pages on both 2016-05-26 07:24:55 +00:00
amiga Merge nick-nhusb 2016-04-23 10:15:27 +00:00
amigappc Add mips fenv.h (From FreeBSD) 2015-12-21 17:02:32 +00:00
arc PR/50855: David Binderman: Remove redundant code. 2016-02-26 18:14:38 +00:00
arm IST_MPSAFE is not a valid flag for fdtbus_intr_establish; use 2016-05-23 18:21:14 +00:00
atari Misc KNF and ANSIfy. 2016-03-13 08:54:45 +00:00
bebox Add mips fenv.h (From FreeBSD) 2015-12-21 17:02:32 +00:00
cats Disable uscanner in all kernel configs 2016-03-19 23:21:02 +00:00
cesfic fenv for m68k 2015-12-24 14:12:39 +00:00
cobalt bump size. 2016-02-21 01:33:56 +00:00
dreamcast PR/50964: David Binderman: Avoid signed overflow warning 2016-03-13 17:59:20 +00:00
emips Refine previous so the output is all hex again. followup to PR 50942 2016-03-12 02:13:35 +00:00
epoc32 PR/50740: David Binderman: Provide a copy constructor. 2016-02-01 17:44:19 +00:00
evbarm Add various security options; enables PaX ASLR/MPROTECT 2016-05-21 18:31:13 +00:00
evbarm64 Fix config(1) errors and warnings. 2016-05-05 21:14:14 +00:00
evbcf fenv for m68k 2015-12-24 14:12:39 +00:00
evbmips Merge nick-nhusb 2016-04-23 10:15:27 +00:00
evbppc Disable uscanner in all kernel configs 2016-03-19 23:21:02 +00:00
evbsh3 Unfortunately no sh3 kernels (no longer?) use linker scripts, but I dare to 2015-08-23 00:53:15 +00:00
evbsh5
ews4800mips Add mips fenv.h (From FreeBSD) 2015-12-21 17:02:32 +00:00
hp300 PR/50852: David Binderman: make code more readable (although it was correct 2016-02-26 18:11:11 +00:00
hpc Improve spelling: regsiter -> register 2015-07-11 10:32:45 +00:00
hpcarm Merge nick-nhusb 2016-04-23 10:15:27 +00:00
hpcmips Merge nick-nhusb 2016-04-23 10:15:27 +00:00
hpcsh Don't mention stab and DWARF sections, because these (poorly mtaintained) 2015-08-24 08:13:07 +00:00
hppa Use the MI usb majors 2016-05-09 15:23:23 +00:00
i386 There is an issue in the way the fillkpt macro sets up pages on both 2016-05-26 07:24:55 +00:00
ia64 From scole_mail: 2016-05-13 13:40:55 +00:00
ibmnws Add mips fenv.h (From FreeBSD) 2015-12-21 17:02:32 +00:00
iyonix Remove KMEMSTATS. Normally it's ok now. 2015-09-26 11:16:12 +00:00
landisk Disable uscanner in all kernel configs 2016-03-19 23:21:02 +00:00
luna68k Enable LIBSA_CREAD_NOCRC. PR/50638 2016-01-17 04:40:10 +00:00
m68k avoid a GCC warning with this: 2016-03-23 05:25:51 +00:00
mac68k Set sc_dev field of softc. 2016-02-28 19:39:27 +00:00
macppc remove unused variables. 2016-05-23 01:45:41 +00:00
mips Adapt to nick-nhusb merge 2016-04-26 09:24:57 +00:00
mipsco PR/50683: David Binderman: Fix memory leak. 2016-01-21 16:58:36 +00:00
mmeye Need _KERNTYPES for round_page() vaddr_t. 2016-01-25 16:34:52 +00:00
mvme68k uses _KERNTYPES 2016-01-25 21:58:02 +00:00
mvmeppc Use symbolic constant. No functional change. 2016-04-03 11:04:14 +00:00
netwinder Define ${LINKSCRIPT} in one place. 2015-08-24 14:04:24 +00:00
news68k Enable LIBSA_CREAD_NOCRC. PR/50638 2016-01-17 04:50:36 +00:00
newsmips David Binderman in PR port-newsmips/51014: 2016-03-26 17:14:38 +00:00
next68k Introduce softint-based if_input 2016-02-09 08:32:07 +00:00
ofppc PR/51015: David Binderman: remove useless code 2016-03-30 21:14:54 +00:00
or1k use __register. 2016-01-29 21:45:00 +00:00
playstation2 Merge nick-nhusb 2016-04-23 10:15:27 +00:00
pmax remove a bunch of "@echo done" from the tail of rules. these messages 2016-03-22 08:25:22 +00:00
powerpc Merge nick-nhusb 2016-04-23 10:15:27 +00:00
prep Appease gcc - error: 'error' may be used uninitialized in this function 2016-04-30 15:09:25 +00:00
riscv expose the kernel types for standalone code. 2016-01-23 22:31:19 +00:00
rs6000 Add mips fenv.h (From FreeBSD) 2015-12-21 17:02:32 +00:00
sandpoint Add mips fenv.h (From FreeBSD) 2015-12-21 17:02:32 +00:00
sbmips Add mips fenv.h (From FreeBSD) 2015-12-21 17:02:32 +00:00
sgimips Disable uscanner in all kernel configs 2016-03-19 23:21:02 +00:00
sh3 expose the kernel types for standalone code. 2016-01-23 22:31:19 +00:00
sh5
shark remove tlb_flush define and change callers to use cpu_tlb_flushID directly, ok matt@ 2015-10-17 16:34:43 +00:00
sparc We don't want PIE! 2016-05-19 15:41:18 +00:00
sparc64 sort 2016-05-26 04:26:05 +00:00
sun2 Introduce softint-based if_input 2016-02-09 08:32:07 +00:00
sun3 Introduce softint-based if_input 2016-02-09 08:32:07 +00:00
sun68k remove some more GCC 4.5 code. make GCC 5.3 be HAVE_GCC=53, so that, 2016-03-13 01:06:51 +00:00
usermode Introduce softint-based if_input 2016-02-09 08:32:07 +00:00
vax Elide unused variable warnings (Felix Deichmann) 2016-04-22 18:13:01 +00:00
x68k Merge nick-nhusb 2016-04-23 10:15:27 +00:00
x86 There is an issue in the way the direct map is set up on amd64. 2016-05-21 07:15:56 +00:00
xen make CPU microcode loading dependent on both DOM0OPS AND CPU_UCODE 2016-05-20 03:41:20 +00:00
zaurus Reduced INSTALL kernel size. 2016-02-16 05:14:31 +00:00
Makefile Fix SUBDIR commit 2014-09-03 19:27:53 +00:00
README Bring back the playstation2 port - now that a toolchain for it is 2014-03-31 11:25:47 +00:00

$NetBSD: README,v 1.62 2014/03/31 11:25:48 martin Exp $

acorn26	arm	20000509	Acorn ARM2- and ARM3-based machines
acorn32	arm	20011118	Acorn computers Ltd. ARM 6/7/SA based machines
algor	mipsel,mips64el	20010528	Algorithmics, Ltd. MIPS evaluation boards
alpha	alpha	19950213	Compaq (formerly Digital Equipment Corp.) Alpha
amd64	x86_64	20010619	AMD's x86 64 bit architecture
amiga	m68k	19930902	Commodore et al. Amiga
amigappc	powerpc	20000525	Phase 5 Amiga
arc	mipsel,mips64el	20000123	MIPS Advanced Risc Computing spec machines
atari	m68k	19950326	Atari TT30, Falcon, and Hades
bebox	powerpc	19971014	Be Inc. BeBox
cats	arm	19981005	Chalice Technologies, CATS motherboard
cesfic	m68k	20010514	FIC8234 VME processor board
cobalt	mipsel,mips64el	20000319	Cobalt Networks Microservers
dreamcast	sh3el	20010107	SEGA Dreamcast
emips	mipseb	20110126	Machines based on Extensible MIPS
epoc32	arm	20130502	32bit EPOC OS machines
evbarm	armeb	20010905	ARM-based eval boards
evbmips	mipseb,mipsel,mips64eb,mips64el	20020307	MIPS-based eval boards
evbppc	powerpc,powerpc64	20021209	PowerPC-based eval boards
evbsh3	sh3eb,sh3el	20010206	Hitachi SuperH(TM) sh3 and sh4 eval boards
ews4800mips	mipseb	20051229	NEC's MIPS based EWS4800 workstations
hp300	m68k	19930512	Hewlett Packard 300- and 400-series machines
hppa	hppa	20020606	Hewlett Packard 700-series machines
hpcarm	arm	20010220	ARM based handheld PCs
hpcmips	mipsel	19990925	MIPS based handheld PCs
hpcsh	sh3el	20010117	Hitachi SuperH(TM) based handheld PCs
i386	i386	19930321	Intel/AMD etc. x86 processor line
ia64	ia64	00000000	Intel Itanium/Itanium2 processor based workstations
ibmnws	powerpc	00000000	IBM Network Station Thin Clients
iyonix	arm	20040713	Castle Technology xscale based workstations
landisk	sh3el	20060901	SH4 processor based NAS appliances by I-O DATA
luna68k	m68k	20000105	LUNA product line of OMRON Tateisi Electronics
mac68k	m68k	19930929	Apple Macintosh
macppc	powerpc,powerpc64	19980515	Apple Power Macintosh and clones
mipsco	mipseb	20000812	MIPS Corp Magnum 3000 computers
mmeye	sh3eb	19990913	Hitachi SuperH(TM) computer controlled camera
mvme68k	m68k	19950725	Motorola's VMEbus 68K based single board computers
mvmeppc	powerpc	20020227	Motorola's PowerPC machines running older PPCBUG
netwinder	arm	20010609	StrongARM based Netwinder machines
news68k	m68k	19991209	Sony's m68k based NET WORK STATION
newsmips	mipseb	19980218	Sony's MIPS based NET WORK STATION
next68k	m68k	19980609	NeXT Computer's cubes and slabs
ofppc	powerpc,powerpc64	19980528	Open Firmware based PowerPC machines
playstation2	mipsel	20011016	Sony PlayStation 2
pmax	mipsel,mips64el	19931012	Digital Equipment Corp. MIPS based machines
prep	powerpc	20000229	PowerPC Reference Platform machines
rs6000	powerpc	20071217	MCA-based IBM RS/6000 wokstations
sandpoint	powerpc	20010211	Motorola Sandpoint based NAS systems
sbmips	mipseb,mipsel,mips64eb,mips64el	20020306	Broadcom's SiByte processor evaluation boards
sgimips	mipseb,mips64eb	20000614	MIPS based Silicon Graphics machines
shark	arm	19960131	Digital Network Appliance Reference Design ("Shark")
sparc	sparc	19931002	Sun Microsystems SPARC (sun4, sun4c, sun4m) 32 bit machines
sparc64	sparc64/sparc	19980620	Sun Microsystems UltraSPARC 64 bit machines
sun2	m68000	20010328	Sun m68010 based machines
sun3	m68k	19930625	Sun m680[23]0 based machines
vax	vax	19940802	Digital Equipment Corp. VAX machines
x68k	m68k	19960505	Sharp X68000, X68030
xen	xen	20040311	Xen virtual machine monitor
zaurus	arm	20061217	Sharp Zaurus C7x0/860/1000/3x00 PDAs

Generic cpu features shared among multiple ports
arm:		ARM CPU based platform files
hppa:		Hewlett Packard PA-RISC CPU based platform files
m68k:		Motorola 680x0 CPU based platform files
mips:		MIPS CPU based platform files
powerpc:	PowerPC CPU based platform files
sh3:		Hitachi SuperH(TM) sh3 and sh4 CPU based platform files
sparc:		Sun Microsystems SPARC(TM) CPU based platform files
x86:		Intel x86 based platform files.

Generic architectural features shared among multiple ports
hpc:		Handheld PC reference platform files
sun68k:		Sun Microsystems Motorola 680x0 CPU based platform files

Single port cpu families
alpha:		Digital Equipment Alpha processor
ia64:		Intel Itanium/Itanium2 processor