Commit Graph

427 Commits

Author SHA1 Message Date
chs
c081614ea2 it really helps to get the stub right before cutting + pasting it 27 times.
alas, I did not.  doh.
2002-09-22 07:53:39 +00:00
chs
55e1f79335 add pmap_remove_all() hook (empty on most platforms so far). 2002-09-22 07:17:08 +00:00
gmcgarry
45d41256f3 Update for cpu_switch() prototype change. No functional change. 2002-09-22 05:40:35 +00:00
gmcgarry
dca80f08fd Add __HAVE_MD_RUNQUEUE flag for MD code to override MI run queue primitives. 2002-09-22 04:11:32 +00:00
gmcgarry
9fdf5b4b9e Implement CPU spinlocks. Compile-tested only. 2002-09-16 09:12:50 +00:00
gehenna
77a6b82b27 Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

	device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
  by using this grammer.

- Added the new naming convention.
  The name of the device switch must be <prefix>_[bc]devsw for auto-generation
  of device switch tables.

- The backward compatibility of loading block/character device
  switch by LKM framework is broken. This is necessary to convert
  from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
  We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
  the LKM framework will refer it to assign device major number dynamically.
2002-09-06 13:18:43 +00:00
thorpej
139cdc3125 Make nbuf, nswbuf, and bufpages unsigned. Make all operations on these
variables unsigned, and update places where their values are printed.
2002-08-25 20:21:33 +00:00
msaitoh
3bc4d0b5aa remove extra CRLF conversion 2002-08-16 08:56:27 +00:00
briggs
0b956d0b8b Implement pmc(9) -- An interface to hardware performance monitoring
counters.  These counters do not exist on all CPUs, but where they
do exist, can be used for counting events such as dcache misses that
would otherwise be difficult or impossible to instrument by code
inspection or hardware simulation.

pmc(9) is meant to be a general interface.  Initially, the Intel XScale
counters are the only ones supported.
2002-08-07 05:14:47 +00:00
tsutsui
b55adcb049 Fix disklabel handling on sh3 ports:
- By default, use disklabels in the native endian.
- With options BSDDISKLABEL_EI, kernels can read/write labels
  in the opposite endian.
- With options COMPAT_MMEYE_OLDLABEL, kernels accept labels
  in format used on old mmeyes.
  (Some old mmeyes have "the bootstrap kernel to load kernel from disks"
   on their flash ROMs and it is not easy to update kernels on the ROMs.)
- While here, use leXXtoh() to read some values in MBR.
2002-07-22 15:11:09 +00:00
mjl
395027b4be Correct obviously switched args to memset() 2002-07-18 02:07:13 +00:00
thorpej
011d4d5f44 Add kernel support for having userland provide the signal trampoline:
* struct sigacts gets a new sigact_sigdesc structure, which has the
  sigaction and the trampoline/version.  Version 0 means "legacy kernel
  provided trampoline".  Other versions are coordinated with machine-
  dependent code in libc.
* sigaction1() grows two more arguments -- the trampoline pointer and
  the trampoline version.
* A new __sigaction_sigtramp() system call is provided to register a
  trampoline along with a signal handler.
* The handler is no longer passed to sensig() functions.  Instead,
  sendsig() looks up the handler by peeking in the sigacts for the
  process getting the signal (since it has to look in there for the
  trampoline anyway).
* Native sendsig() functions now select the appropriate trampoline and
  its arguments based on the trampoline version in the sigacts.

Changes to libc to use the new facility will be checked in later.  Kernel
version not bumped; we will ride the 1.6C bump made recently.
2002-07-04 23:32:02 +00:00
thorpej
7f7f0f86bd When delivering a signal, arrange for the handler to be invoked
directly.  The trampoline is now used only for the return, and
makes it another 2 instructions shorter.
2002-06-23 18:49:33 +00:00
thorpej
508e2dcf41 When delivering a signal, don't push the signum, code, and context pointer,
or handler onto the stack.  Instead, just stuff them into the correct
argument registers (handler is a "4th arg").
2002-06-23 18:35:05 +00:00
christos
3b50728cf4 MD systrace gluons. 2002-06-17 16:32:57 +00:00
uch
ba28fa4dc2 change disklabel to
16 partition.
 no bsd area of the disk.
2002-05-22 15:01:33 +00:00
msaitoh
7c10da8b66 fix some overflow cases. 2002-05-19 15:10:46 +00:00
matt
0a6d35b7ed Nuke local extern label_t *db_recover; it's now in <ddb/db_extern.h> 2002-05-13 20:30:07 +00:00
uch
3fb2a4d436 cosmetic changes. 2002-05-10 15:28:45 +00:00
uch
4e8a77d890 clean up disassembler code. 2002-05-10 15:27:05 +00:00
uch
55326aaa7e remove COMPAT_13 staff. No 1.3 release of sh3 port. these are trace of
i386 port.
2002-05-10 15:25:12 +00:00
uch
3a1a0b37af IOM_RAM_BEGIN is changed to specify physical address. 2002-05-09 12:32:09 +00:00
uch
cee1a2f41a remove unused macro. 2002-05-09 12:31:38 +00:00
uch
2ca56b0d33 remove postsig. postsig is called by ast(). 2002-05-09 12:31:19 +00:00
uch
d5020bf906 remove obsolete interface. add defines for inquire cache feature. 2002-05-09 12:30:45 +00:00
uch
44b57799f2 fix comment 2002-05-09 12:30:11 +00:00
uch
4c73523c72 suitable for SH3/SH4 memory architecture.
support non-contiguos memory banks.
2002-05-09 12:29:48 +00:00
uch
c34e1b1ad5 adapted to pmap and exception code changes. 2002-05-09 12:29:16 +00:00
uch
5cf2727a95 new pmap designed for SH3/SH4. 2002-05-09 12:28:08 +00:00
uch
bf93dc9b4c remove obsoleted functions. add sh_tlb_update() for update TLB.
MMU mode is changed to multiple virtual storage mode for new pmap code.
2002-05-09 12:27:04 +00:00
uch
fa6d5570e7 fix ASID mask define 2002-05-09 12:26:16 +00:00
uch
944192661c s/trapno/expevt/ for clarity. 2002-05-09 12:25:41 +00:00
uch
d610fecf0f rework general exception, and TLB exception handling for new pmap.
all exception staffs are moved to exception.[ch]
2002-05-09 12:24:19 +00:00
thorpej
a19e4685f7 Make CLKF_INTR() slightly less broken. The previous definition always
tested true if the CPU was running in the kernel at the time of the clock
interrupt, therefore all such time (kernel and idle) was counted as interrupt
time.  The new definition simply punts on trying to count interrupt time,
which allows us to see kernel and idle time.
2002-05-07 04:01:59 +00:00
thorpej
3a3df0d1d2 Fix reading values mapped in P1 via /dev/kmem (problem uncovered by
uch's new pmap).
2002-05-07 03:28:25 +00:00
uch
7eaf6db5bd remove #if 0 #endif 2002-04-29 09:33:30 +00:00
uch
01eebf7a36 KNF. 2002-04-29 09:32:56 +00:00
uch
6d338ff407 Use "#define<tab>", white space nits. 2002-04-28 17:10:32 +00:00
msaitoh
c67dc60a0a add missing postsig() call.
I don't know whether this is true fix or not.
2002-04-28 12:51:14 +00:00
msaitoh
ccc0ee640f add missing softintr_establish() call. 2002-04-28 11:38:48 +00:00
msaitoh
271b97bb3b add SH4 Processor Version Register 2002-04-26 11:56:02 +00:00
msaitoh
f6bf722a2e fix around PTR and PDR 2002-04-26 10:22:53 +00:00
msaitoh
0465d9b191 add missing SCPDR_SCP0DT definition 2002-04-25 20:17:04 +00:00
uch
14fff32a83 remove duplicated SH3, SH4 define. 2002-04-23 13:59:03 +00:00
uch
d1b9873090 make these compile with gcc -O0 2002-04-22 18:57:43 +00:00
thorpej
c3050006aa * Defflag the SH3 and SH4 options.
* In <sh3/cputypes.h>, always define both SH3 and SH4 if _LKM is defined.
2002-04-20 19:59:11 +00:00
uch
5f10da67a7 Define all CPU types if _LKM is defined. 2002-04-16 17:33:56 +00:00
uch
cb4570f5f5 remove obsolete functions, decralations and structure. 2002-04-04 18:12:23 +00:00
msaitoh
55aa2c46b9 sync with i386/include/pmap.h rev. 1.45:
make dangerous pmap_copy() and pmap_move() no-op.
2002-04-03 10:38:51 +00:00
msaitoh
66227882a3 sync with i386/i386/pmap.c rev. 1.94:
make dangerous pmap_copy() and pmap_move() no-op.
2002-04-03 10:37:48 +00:00