Commit Graph

271 Commits

Author SHA1 Message Date
chs
9e8e4c5bdc I was wrong, sh4 does have a VAC.
change vmapbuf()/vmunmapbuf() back to using pmap_enter()/pmap_remove().
2001-08-19 20:44:41 +00:00
chs
dd3f84513a typo in previous. 2001-08-19 17:45:15 +00:00
chs
17d06a7ad7 use pmap_k* in vmapbuf() and vunmapbuf() since there's no VAC on this platform.
in vunmapbuf(), call pmap_*remove() explicitly since uvm_km_free_wakeup()
will soon no longer do it for us.
2001-08-19 17:37:35 +00:00
jdolecek
c495131fe3 Move _insque()/_remque() to libkern. Once remaining uses would
be converted to <sys/queue.h> macros, _insque()/_remque() would be eliminated
altogether.
2001-08-12 08:35:31 +00:00
msaitoh
dfc4520de8 G.C. 2001-08-10 18:57:25 +00:00
msaitoh
6096cc20fb byebye 2001-08-10 18:55:08 +00:00
msaitoh
0756145b0f fix a ldtlb handling bug:
- set to PTE{H,L,A} and call LDTLB must do atomically.
 - never call LDTLB when it's unnecessary.

Broken kernel oocasionally causes cpu reset when /etc/security is called.
Now fix this problem.
2001-08-10 18:27:08 +00:00
tsubai
f9493fa115 Make this compile again. 2001-07-22 14:20:13 +00:00
ichiro
025f122394 use definition of memory size for physical area
0x20000000 -> SH3_P1234SEG_SIZE
2001-07-20 14:19:59 +00:00
thorpej
babefc5331 Add BUS_DMA_READ and BUS_DMA_WRITE flags, that hint the back-end
at dmamap load time that the mapping will be used for a unidirectional
transfer of the specified direction.
2001-07-19 15:32:10 +00:00
msaitoh
40204ff68c fix KERNELMODE() macro (check MD bits, too) 2001-06-24 05:34:07 +00:00
msaitoh
fa7f03665e use MMUCR_TF macro defined in mmureg.h 2001-06-24 05:32:55 +00:00
msaitoh
8a3c1726a2 cpu_fork() fix:
- add cacheflush() when sh4
	- convert kr15 from P2 area to P1 area (SH4)
2001-06-24 05:22:18 +00:00
msaitoh
33b63f3efa fix microtime() 2001-06-24 05:00:28 +00:00
wiz
0a600be867 receive, not recieve 2001-06-12 15:17:10 +00:00
msaitoh
e29b0f085f .type xxx,@function isn't supported under COFF 2001-06-10 19:06:26 +00:00
chs
821ec03ed9 replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
lukem
d84d2c6c85 add missing #include "opt_kgdb.h" 2001-05-30 15:24:23 +00:00
mrg
67afbd6270 use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
mrg
3783ca5d30 define _KERNEL_OPT as well as _KERNEL. we will use this in the future to
get kernel "opt_foo.h" headers, rather than _KERNEL && !_LKM.
2001-05-29 02:20:20 +00:00
chs
11a9651c8f replace vm_page_t with struct vm_page *. 2001-05-26 21:27:10 +00:00
chs
118ddca24a replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}. 2001-05-26 16:32:40 +00:00
sommerfeld
e2a08caf68 Replicate pte unmap change from i386 pmap.c
(fix kern/12554 workaround).
2001-05-25 23:34:44 +00:00
msaitoh
cbcd644ce8 sigreturn() fix (from kleink) 2001-05-16 12:42:38 +00:00
tshiozak
b1c2276feb Correct a simple bug in the recent commit (pmap.c:1.19) by thopej.
I guess he indents to prepare a temporary variable for saving the next
pointer of a list element, but he seems to forget to substitute the
pointer for the variable.  This often causes my dreamcast panic.
2001-05-13 19:41:17 +00:00
kleink
dadbb7e784 There is no extended-precision format on sh3. 2001-05-03 13:19:52 +00:00
scw
2963ff5c58 Add l_poll' to struct linesw' and provide an xxxpoll() entry point
in each tty driver to indirect through it.

This allows tty line-disciplines to handle poll(2) system calls.
2001-05-02 10:32:08 +00:00
thorpej
cf67ac7122 Per discussion w/ chuck and chuck, restructure the md page stuff
to use a structure called "vm_page_md", and use __HAVE_VM_PAGE_MD
and __HAVE_PMAP_PHYSSEG.
2001-05-01 02:19:13 +00:00
thorpej
2b27ac7a99 Add a VM_MDPAGE_MEMBERS macro that defines pmap-specific data for
each vm_page structure.  Add a VM_MDPAGE_INIT() macro to init this
data when pages are initialized by UVM.  These macros are mandatory,
but ports may #define them to nothing if they are not needed/used.

This deprecates struct pmap_physseg.  As a transitional measure,
allow a port to #define PMAP_PHYSSEG so that it can continue to
use it until its pmap is converted to use VM_MDPAGE_MEMBERS.

Use all this stuff to eliminate a lot of extra work in the Alpha
pmap module (it's smaller and faster now).  Changes to other pmap
modules will follow.
2001-04-29 22:44:31 +00:00
kleink
fe3c9ceaf7 * Move definitions of exact-width integer types from <machine/types.h>
to <sys/types.h> and <sys/stdint.h>.
* Add a new C99 <stdint.h> header, which provides integer types of
  explicit width, related limits and integer constant macros.
* Extend <inttypes.h> to provide <stdint.h> definitions and format
  macros for printf() and scanf().
* Add C99 strtoimax() and strtoumax() functions.
* Use the latter within scanf().
* Add C99 %j, %t and %z printf()/scanf() conversions for
  intmax_t, pointer-type and size_t arguments.
2001-04-28 15:41:28 +00:00
kleink
99054d7a6c Add definitions for C99 fastest minimum-width integer types. 2001-04-26 16:25:19 +00:00
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