Commit Graph

240 Commits

Author SHA1 Message Date
thorpej d7e12660a3 Work around the problem that causes kern/12554. Basically,
there are some pathological cases that cause pmap_page_protect()
to be called on a wired page to revoke all mappings.  We
need to skip mappings that are actually wired to prevent Bad
things from happening later.

THIS IS JUST A WORK-AROUND.  We need to prevent the pathological
behavior from happening in UVM to begin with.  But it's unclear
what the right solution is there, right now.
2001-04-25 16:18:24 +00:00
thorpej 1c3a62e066 Sprinkle pmap_update() calls after calls to:
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).

These calls are relatively conservative.  It may be possible to
optimize these a little more.
2001-04-24 04:30:50 +00:00
uch 63ec3bc3fa dreamcast clock module was separated. 2001-04-23 11:20:41 +00:00
thorpej 55044638aa Remove pmap_kenter_pgs(). It was never really adopted by
anything, and the interface itself wasn't as flexible as
callers would have probably liked.
2001-04-22 23:42:11 +00:00
thorpej 69abdbf60c Undo a misguided previous change to the pmap_update() API. 2001-04-22 23:19:26 +00:00
uch 103b08ffa1 make this compile again under SH4 2001-04-22 17:37:55 +00:00
uch 95f0d5c680 add RTC control register 1 defines. 2001-04-22 16:50:17 +00:00
thorpej 4738622712 Give pmap_update() an argument (a pmap_t) so that it knows which
pmap it should be updating.
2001-04-22 00:33:59 +00:00
thorpej 15f731ee94 pmap_update() should not be equated with "flush entire TLB", it is
used to process deferred pmap operations.  Since these pmaps don't
defer anything, pmap_update() is a noop.
2001-04-21 17:25:01 +00:00
kleink f06533a1ee Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 17:13:04 +00:00
kleink 739cb75837 Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 15:29:02 +00:00
kleink cdcf9f46c5 Add definitions of C99 integer constant macros.
Tidy Makefiles up a little.
2001-04-14 22:46:19 +00:00
kleink a7c20e5788 Add definitions of C99 integer constant macros. 2001-04-14 22:38:33 +00:00
kleink 7affdab52e Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-14 12:19:49 +00:00
thorpej bf2dcec4f5 Remove the use of splimp() from the NetBSD kernel. splnet()
and only splnet() is allowed for the protection of data structures
used by network devices.
2001-04-13 23:29:55 +00:00
marcus b6c1c5d49a Altentries should also be marked as functions, to keep linker happy. 2001-04-09 20:31:20 +00:00
marcus e0d02d24d5 Mark syscalls as functions. 2001-04-09 15:52:59 +00:00
marcus 0640ad6ace When the endians are little, they are little. 2001-03-29 03:23:33 +00:00
matt f283c0a504 Use ${THISSH3} instead of ../.. ; not everyone builds in ../compile/FOO 2001-03-24 18:26:11 +00:00
chs e47583af2c missed some KERN_FAILUREs. 2001-03-18 23:43:53 +00:00
chs ac3bc537bd eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is:

KERN_SUCCESS			0
KERN_INVALID_ADDRESS		EFAULT
KERN_PROTECTION_FAILURE		EACCES
KERN_NO_SPACE			ENOMEM
KERN_INVALID_ARGUMENT		EINVAL
KERN_FAILURE			various, mostly turn into KASSERTs
KERN_RESOURCE_SHORTAGE		ENOMEM
KERN_NOT_RECEIVER		<unused>
KERN_NO_ACCESS			<unused>
KERN_PAGES_LOCKED		<unused>
2001-03-15 06:10:32 +00:00
itohy 7ffa2a0375 Add RTC_OFFSET support to inittodr() on dreamcast.
No changes to other sh ports.
2001-03-07 00:47:22 +00:00
thorpej 51aeeceeaf Clean up TLB trap handling a little.
- When printing a user trap, include p->p_comm in the message.
- In the TLB fault handler, don't just go charging along if
  the fault can't be handled.  If we get a fatal kernel TLB
  fault, we need to panic!  Or, if DDB is enabled, call the
  Debugger().
2001-03-06 21:58:23 +00:00
msaitoh 0aa1f3d01e modify target name because we can't recommend to use pkgsrc/cross
(though I'm not the person who did such BAD modification)
2001-02-27 14:05:53 +00:00
msaitoh bba3f2423b add comment about $CPP
From source:

# XXX following definition is absolutely incorrect.
# Our cpp is not /usr/libexec/cpp but /usr/bin/cpp.
# True solution is:
#	1) copy /usr/bin/cpp into /usr/local/bin/sh-*-*-cpp
#	2) Edit CPP in sh-*-*-cpp correctly
#		(e.g. "CPP=`$CC -print-prog-name=cpp`").
#	3) Edit STDINCDIR in sh-*-*-cpp correctly
#		(e.g. STDINCDIR=/usr/local/sh-unknown-netbsdcoff/include)

# BROKEN
CPP=`$TARGET-gcc -print-prog-name=cpp`

# EXAMPLE
#CPP=/usr/local/bin/sh-unknown-netbsdcoff-cpp
#CPP=/usr/local/bin/sh-unknown-netbsdelf-cpp
2001-02-26 08:46:15 +00:00
msaitoh 6c4c53a461 add "MACHINE_CPU=sh3" 2001-02-26 08:24:20 +00:00
msaitoh bc759e0d8d check __LEADING_UNDERSCORE 2001-02-25 19:15:04 +00:00
msaitoh 526ce203e7 check __LEADING_UNDERSCORE instead of __sh3__ 2001-02-25 15:49:58 +00:00
uch e0a4623854 move disksubr.c define to machine-port. 2001-02-21 16:42:04 +00:00
uch 8ce0133cc8 add SH7709/SH7709A I/O port register define 2001-02-21 14:49:53 +00:00
msaitoh c090c1cfe5 temporary fix a serious pmap problem with dummy PMAP_{MAP,UNMAP}_POOLPAGE().
To fix correctly, set IOM_RAM_BEGIN with P0 addr instead of P1 addr and
fix machdep.c and pmap.c.
2001-02-19 17:51:22 +00:00
msaitoh 2633a5dcb5 _C_LABEL() 2001-02-14 17:57:31 +00:00
uch 78af56fcfd move VM_PHYSSEG_MAX, VM_NFREELIST, VM_FREELIST_DEFAULT defines to
machine/vmparam.h
2001-02-07 14:53:09 +00:00
uch 6a7b420b7e move machine-port specific file to machine directory.
for evbsh3, mmeye and dreamcast, use MI md_root.c
2001-02-06 16:45:19 +00:00
thorpej c8cdb12913 Add some comments about P/USEG 2001-02-02 18:25:04 +00:00
thorpej ef2315d256 Rewrite how mod/ref emulation is done. In particular, make
modified attribute checking actually work.  Previously, a
page could be reported as modified even if it wasn't!  This
is very bad, and e.g. caused the VM system to attempt to
"clean" pages of read-only files.

Only lip-services is paid to referenced attribute emulation.
This could be improved.
2001-02-02 02:28:18 +00:00
msaitoh 61831529f2 add some macros for 8bit PCMCIA access 2001-01-30 04:15:10 +00:00
tsubai 9b4793fd1b #ifdef DREAMCAST --> #ifdef dreamcast. 2001-01-22 08:23:58 +00:00
tsubai 4791d269ec -Dsh3 --> -D${TARGET_MACHINE}. 2001-01-22 08:22:15 +00:00
tsubai ffb8bbbb30 #ifdef sh3 --> #ifdef __sh3__. 2001-01-22 08:18:06 +00:00
itojun f92ee7af5c sync indent. 2001-01-22 07:04:10 +00:00
marcus aa94cdc6ad Oops. Left a debug printout in there... 2001-01-21 23:53:09 +00:00
jdolecek d5d431e8ae make db_[e]regs[] const 2001-01-18 10:54:27 +00:00
itojun f79137a3f1 it looks that gas configured for little endian output runs as
big endian assembler, sometimes.  explicitly have -little to specify
little endian output.
2001-01-17 06:03:54 +00:00
itojun ef1a3ce53b the kernel for SH3-based WinCE machines (little endian), by uch.
MACHINE=hpcsh, MACHINE_CPU=sh3el.

bootloader: ftp://f77.nop.or.jp/users/uch/hpcboot/
original patch: ftp://f77.nop.or.jp/users/uch/hpcsh/

sys/sh3/sh3/md_root.c: add #ifdef MEMORY_DISK_DYNAMIC
2001-01-17 05:21:47 +00:00
itojun d8ba6d06be procfs_machdep is per port (not per CPU). 2001-01-17 00:44:33 +00:00
fvdl c7f1462f3e Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.
2001-01-17 00:07:18 +00:00
marcus bc9ea0aebd Dreamcast uses a different realtime clock than the builtin RTC. 2001-01-16 00:34:44 +00:00
thorpej 45de366b2e Rename __GENERIC_SOFT_INTERRUPTS to __HAVE_GENERIC_SOFT_INTERRUPTS,
and place the definition in <machine/types.h>.  This can now be used
as a flag to indicate whether or not <machine/intr.h> can be included
to get the generic soft interrupt API.
2001-01-14 23:50:28 +00:00
thorpej a3ec356d52 splimp() -> splvm() 2001-01-14 03:22:04 +00:00