Commit Graph

604 Commits

Author SHA1 Message Date
uwe 49bb9c9d40 Don't compare an integer variable to NULL. 2003-10-22 21:09:09 +00:00
uwe 437e63c180 __KERNEL_RCSID. 2003-10-19 02:22:56 +00:00
uwe a2a5c1629e Make intc_intr_priority() return old level. While here, make the code
more compact by factoring out register update to happen in one place,
outside the switch statements.

Add intc_intr_disable() and intc_intr_enable().
2003-10-18 23:21:35 +00:00
uwe 15e3e96e71 Config glue for adc(4). 2003-10-18 01:29:05 +00:00
uwe 721e6868b8 Driver for analog->digital converter in sh7709. 2003-10-18 01:27:18 +00:00
uwe 390e87a8b6 Use 'CH' for channel select in the ADCSR bits format string for consistency. 2003-10-15 22:55:07 +00:00
cl e9de14a4d3 add MD part of SA/pthread pagefault handling on sh3 2003-10-13 18:08:45 +00:00
uwe 81428320f3 Register definitions for sh7709 analog->digital converter. 2003-10-10 23:52:30 +00:00
uwe a348eb3a30 Add IPR mappings for remaining sh7709 IRQx.
While here, fix couple of typos.
2003-10-08 23:31:43 +00:00
thorpej 901da40cf9 Add some accessor macros for the ucontext:
* _UC_MACHINE_PC() - access the program counter
* _UC_MACHINE_INTRV() - access the integer return value register
* _UC_MACHINE_SET_PC() - set the program counter (this requires
  special handling on some platforms).
2003-10-08 22:43:01 +00:00
lukem 1c33b4e6a4 Overhaul MBR handling (part 1):
<sys/bootblock.h>:
    *	Added definitions for the Master Boot Record (MBR) used by
	a variety of systems (primarily i386), including the format
	of the BIOS Parameter Block (BPB).
	This information was cribbed from a variety of sources
	including <sys/disklabel_mbr.h> which this is a superset of.

	As part of this, some data structure elements and #defines
	were renamed to be more "namespace friendly" and consistent
	with other bootblocks and MBR documentation.
	Update all uses of the old names to the new names.

<sys/disklabel_mbr.h>:
    *	Deprecated in favor of <sys/bootblock.h> (the latter is more
	"host tool" friendly).

amd64 & i386:
    *	Renamed /usr/mdec/bootxx_dosfs to /usr/mdec/bootxx_msdos, to
	be consistent with the naming convention of the msdosfs tools.

    *	Removed /usr/mdec/bootxx_ufs, as it's equivalent to bootxx_ffsv1
	and it's confusing to have two functionally equivalent bootblocks,
	especially given that "ufs" has multiple meanings (it could be
	a synonym for "ffs", or the group of ffs/lfs/ext2fs file systems).

    *	Rework pbr.S (the first sector of bootxx_*):
	    +	Ensure that BPB (bytes 11..89) and the partition table
		(bytes 446..509) do not contain code.
	    +	Add support for booting from FAT partitions if BOOT_FROM_FAT
		is defined.  (Only set for bootxx_msdos).
	    +	Remove "dummy" partition 3; if people want to installboot(8)
		these to the start of the disk they can use fdisk(8) to
		create a real MBR partition table...
	    +	Compile with TERSE_ERROR so it fits because of the above.
		Whilst this is less user friendly, I feel it's important
		to have a valid partition table and BPB in the MBR/PBR.

    *	Renamed /usr/mdec/biosboot to /usr/mdec/boot, to be consistent
	with other platforms.

    *	Enable SUPPORT_DOSFS in /usr/mdec/boot (stage2), so that
    	we can boot off FAT partitions.

    *	Crank version of /usr/mdec/boot to 3.1, and fix some of the other
	entries in the version file.

installboot(8) (i386):
    *	Read the existing MBR of the filesystem and retain the BIOS
    	Parameter Block (BPB) in bytes 11..89 and the MBR partition
	table in bytes 446..509.  (Previously installboot(8) would
	trash those two sections of the MBR.)

mbrlabel(8):
    *	Use sys/lib/libkern/xlat_mbr_fstype.c instead of homegrown code
	to map the MBR partition type to the NetBSD disklabel type.


Test built "make release" for i386, and new bootblocks verified to work
(even off FAT!).
2003-10-08 04:25:43 +00:00
uwe 576576bafb Add definitions for IRR0 bits. 2003-10-07 01:24:32 +00:00
uwe c313f02140 Whitespace nit. 2003-10-01 21:51:15 +00:00
nathanw 4d59420344 Move __cpu_simple_lock_t and __SIMPLELOCK_{UN,}LOCKED to machine/types.h
so that they can be used in a namespace-friendly way.
2003-09-26 22:45:41 +00:00
simonb 550b4bef88 Fix "constify sendsig/trapsignal" fallout for non-siginfo'd archs. Test
compiled on most architectures.
2003-09-26 12:02:55 +00:00
uwe a1cbc85a2f Bring _PROF_PROLOGUE back. The breakage was caused by calls to
__udivsi3 being treated specially by gcc.
2003-08-27 19:59:57 +00:00
christos 2b16e874b8 I don't understand why there this is here, since we have exec_ecoff.c in kern,
but remove the stack setup function anyway.
2003-08-11 12:58:43 +00:00
chs 78a835abdc fix typos in comments. 2003-08-10 02:03:31 +00:00
uwe e4bd28ac72 Undo previous. It breaks profiling, but I managed to test against the
wrong tree and so missed it.
2003-08-10 01:22:03 +00:00
uwe 147642d466 Real _PROF_PROLOGUE so that assembly language functions can be profiled. 2003-08-10 00:00:26 +00:00
uwe 9cd06ccd7e For ELF put RCSID strings into .ident section. 2003-08-09 23:04:43 +00:00
uwe 8c46e68137 Add more sh7709 interrupt sources. Split sh3 and sh4 specific
switches because of conflicts in exception codes.
2003-08-08 00:52:42 +00:00
agc aad01611e7 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
2003-08-07 16:26:28 +00:00
uwe 85fb38b211 When passing &buffers to uvm_map, add a cast to (void *). Without it,
gcc3 with -O2 produces "dereferencing type-punned pointer will break
strict-aliasing rules" warning.
2003-08-03 00:01:44 +00:00
thorpej 063033a023 Since everyone uses clock_subr.c (or should, if they don't currently),
list it in conf/files instead of in every port's files.*.
2003-07-27 01:17:37 +00:00
lukem ed51729135 __KERNEL_RCSID() 2003-07-15 02:54:31 +00:00
uwe 66a03d56d3 Correct the macro name for SCP0DT bit.
Addresses port-sh3/22025 by FURUKAWA Masashi.
2003-07-01 11:49:37 +00:00
fvdl d5aece61d6 Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
2003-06-29 22:28:00 +00:00
darrenr 960df3c8d1 Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records.  The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V
2003-06-28 14:20:43 +00:00
tsutsui 17418f8476 Allow user pmap to pmap_enter device (bus-space) memory. 2003-06-14 16:27:36 +00:00
tsutsui fee6ce1d9f Fix lack of parentheses bug which causes wrong pte settings. 2003-06-14 16:21:31 +00:00
tsutsui cead6ab903 mmap(2) function on sh3 should return page number, not physical address. 2003-06-14 16:08:09 +00:00
kleink 776138ea69 Rename <sys/float_ieee.h> to <sys/float_ieee754.h>, following libc's
convention for these.
2003-05-12 15:22:53 +00:00
thorpej f4ca0d67fe Include <sys/disk.h>. 2003-05-12 14:48:12 +00:00
thorpej e43fecb228 Change bounds_check_with_label() to take a pointer to the disk structure,
rather than the label itself.  This paves the way for some future changes.
2003-05-10 23:12:28 +00:00
thorpej 36da248c07 Back out the following chagne:
http://mail-index.netbsd.org/source-changes/2003/05/08/0068.html

There were some side-effects that I didn't anticipate, and fixing them
is proving to be more difficult than I thought, do just eject for now.
Maybe one day we can look at this again.

Fixes PR kern/21517.
2003-05-10 21:10:23 +00:00
thorpej b77900c3c2 Simplify the way the bounds of the managed kernel virtual address
space is advertised to UVM by making virtual_avail and virtual_end
first-class exported variables by UVM.  Machine-dependent code is
responsible for initializing them before main() is called.  Anything
that steals KVA must adjust these variables accordingly.

This reduces the number of instances of this info from 3 to 1, and
simplifies the pmap(9) interface by removing the pmap_virtual_space()
function call, and removing two arguments from pmap_steal_memory().

This also eliminates some kludges such as having to burn kernel_map
entries on space used by the kernel and stolen KVA.

This also eliminates use of VM_{MIN,MAX}_KERNEL_ADDRESS from MI code,
this giving MD code greater flexibility over the bounds of the managed
kernel virtual address space if a given port's specific platforms can
vary in this regard (this is especially true of the evb* ports).
2003-05-08 18:13:12 +00:00
christos 6ec2f52f71 rename Locore.c -> locore_c.c so that we can compile on case insensitive
filesystems. (from John Gordon)
2003-05-08 12:37:36 +00:00
dsl d91455ce26 Change return type of readdisklabel() to const char *
I hope I've found all the correct places!
2003-05-02 08:45:10 +00:00
scw 8c5c893bf7 Add a BKPT_ADDR() macro which gives MD code a chance to munge a
breakpoint address before it's used. Currently a no-op on all but sh5.

This is useful on sh5, for example, to mask off the instruction
type encoding in the bottom two address bits, and makes it possible
to do "db> break $rXX" instead of manually munging the address.
2003-04-29 17:06:03 +00:00
bjh21 4be7a2dcf3 Add a new feature-test macro, _NETBSD_SOURCE. If this is defined
by the application, all NetBSD interfaces are made visible, even
if some other feature-test macro (like _POSIX_C_SOURCE) is defined.
<sys/featuretest.h> defined _NETBSD_SOURCE if none of _ANSI_SOURCE,
_POSIX_C_SOURCE and _XOPEN_SOURCE is defined, so as to preserve
existing behaviour.

This has two major advantages:
+ Programs that require non-POSIX facilities but define _POSIX_C_SOURCE
  can trivially be overruled by putting -D_NETBSD_SOURCE in their CFLAGS.
+ It makes most of the #ifs simpler, in that they're all now ORs of the
  various macros, rather than having checks for (!defined(_ANSI_SOURCE) ||
  !defined(_POSIX_C_SOURCE) || !defined(_XOPEN_SOURCE)) all over the place.

I've tried not to change the semantics of the headers in any case where
_NETBSD_SOURCE wasn't defined, but there were some places where the
current semantics were clearly mad, and retaining them was harder than
correcting them.  In particular, I've mostly normalised things so that
_ANSI_SOURCE gets you the smallest set of stuff, then _POSIX_C_SOURCE,
_XOPEN_SOURCE and _NETBSD_SOURCE in that order.

Tested by building for vax, encouraged by thorpej, and uncontested in
tech-userlevel for a week.
2003-04-28 23:16:11 +00:00
christos a2dfb1b570 PR/3012: Greg A. Woods: Write all float.h files [except the vax of course]
in terms of float_ieee.h
2003-04-19 23:05:28 +00:00
bouyer aec10dd80c Nake return values from bounds_check_with_label() conform to the man
page: -1 for error, 0 for EOF, 1 otherwise. Inspired by an OpenBSD commit
message, pointed out by Miod Vallat in private mail.
vax/mba/hp.c: check return value <= 0, not < 0 to be concistent with how
other places handle return values from bounds_check_with_label().
2003-04-16 15:00:59 +00:00
tsutsui dcc0f5a63d Fix typo in printf message. 2003-04-13 04:07:34 +00:00
nathanw ff28c51cc0 Make cpu_getmcontext() run the PC through ras_lookup() so that kernel
getcontext() plus userlevel setcontext() (as used in libpthread) respects
the atomicity of RAS regions.
2003-04-11 22:02:28 +00:00
thorpej cc2c493bc4 Use PAGE_SIZE rather than NBPG. 2003-04-02 07:35:54 +00:00
thorpej d470cda51b Use PAGE_SIZE rather than NBPG. 2003-04-02 02:56:40 +00:00
thorpej f6aabf7609 We use 4K pages on the sh3/sh4; make PAGE_SIZE, PAGE_SHIFT, and PAGE_MASK
compile-time constants.
2003-04-02 02:39:47 +00:00
tsutsui 8d3aeb9abc Rewrite user space access functions which use gcc's "labels as values"
extension in asm to avoid unexpected code omission during optimization
which causes wrong return value on faults.
2003-03-20 17:45:14 +00:00
tsutsui f86b0e1741 In tlb_exception(), don't panic immediately on access at va == 0
from kernel mode if fault hander is set.
2003-03-09 16:14:29 +00:00
tshiozak 31e2cbf0b5 add some ISO C 1995 I18N functions and types:
btowc, wctrans, towctrans, wcscoll, wcsxfrm, wctype_t and wctrans_t.
2003-03-02 22:18:11 +00:00
itohy 850cd09532 - Change __cpu_simple_lock_t from int to unsigned char.
This makes simple lock work on big-endian platforms.
- Assembly-level optimization of __cpu_simple_lock_try().

OK'd by Gregory McGarry.  Closes PR port-sh3/20311.
2003-02-14 03:02:41 +00:00
tsutsui cce861a437 Make sure cache_sh[34]_op_*() functions actually inlined. 2003-01-25 04:21:01 +00:00
thorpej 49784e4bd0 Merge the nathanw_sa branch. 2003-01-18 06:33:41 +00:00
uwe a391e8bea6 Add sh7709 INTEVT2 codes for IRQs, PINTs, IRDA and ADC. 2002-12-29 02:47:07 +00:00
manu 4a06119a9d Pass the system call table to trace_enter() and ktrsys() so that it is
possible to use alternate system call tables. This is usefull for
displaying correctly the arguments in Mach binaries traces.

If NULL is given, then the regular systam call table for the process is used.
2002-12-21 16:23:56 +00:00
thorpej 6ff0a8ba21 Initialize pools in pmap_init(); the low-water mark must be set when
it is safe to allocate pages via the normal mechanism.
2002-12-16 07:18:30 +00:00
thorpej 7affeb0071 Add support for RAS (initially added by me on nathanw_sa branch). 2002-12-16 02:15:58 +00:00
thorpej 9ad045c958 Use MI setrunqueue()/remrunqueue(). 2002-12-16 01:56:47 +00:00
thorpej e8cc3884de Rename __LDPGSZ to AOUT_LDPGSZ, to accurately reflect what it is. 2002-12-10 17:14:02 +00:00
thorpej 78ea2dd367 Use __LDPGSZ (which must be == USRTEXT) as the text address for a.out
executables, and eliminate the USRTEXT constant, which was only used
by the a.out exec code.
2002-12-10 05:14:24 +00:00
lukem 0635de35a3 Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more. 2002-11-26 23:30:07 +00:00
manu d584ed9598 Add a realcode argument to trace_enter and ktrsyscall. realcode is the
original system call number, which can be negative for a Mach trap.
We cannot just replace code by realcode, because ktrsyscall uses it as
an index in the system call table, thus crashing the kernel when the
value is negative.
2002-11-15 20:06:00 +00:00
msaitoh 76c101443c add some definitions for P[VR]R register 2002-11-13 14:00:27 +00:00
tsutsui fe505e00b7 Make sure to stop timer count before writing timer counter registers
in tmu[12]_oneshot(). Otherwise sometimes interrupts would be lost.
2002-11-10 04:30:10 +00:00
tsutsui d7fe782b4f Add _reg_bset_[124]() and _reg_bclr_[124]() macro for
SH embeded device registers.
2002-11-08 14:58:25 +00:00
itohy ba91c01b07 Fix asm usage. "tf" is an output operand, not an input. 2002-11-04 08:12:30 +00:00
itohy babe417446 Initialize UTLB/ITLB data array 1 to zero.
If the VPN / PPN are not aligned to page boundary (the page size
is set by SZ bits in data array 1, which are random when power-up time),
unexpected exception occurs in some rare case, it seems....
Initialize SZ to zero (1KB page).  Also, clear VPN / PPN to zero just in case.

Make __sh4_itlb_invalidate_all() static.
2002-11-04 01:31:43 +00:00
jdolecek e0cc03a09b merge kqueue branch into -current
kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals

kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
2002-10-23 09:10:23 +00:00
chs 993948e989 count executable image pages as executable for vm-usage purposes.
also, always do the VTEXT vs. v_writecount mutual exclusion
(which we previously skipped if the text or data segment was empty).
2002-10-05 22:34:02 +00:00
thorpej 89bf5a8f8e Add trailing ; to CFATTACH_DECL. 2002-10-02 15:52:22 +00:00
thorpej 217c799fe7 Use CFATTACH_DECL(). 2002-10-01 21:24:43 +00:00
thorpej f818766afe Declare all cfattach structures const. 2002-09-27 20:31:45 +00:00
provos 0f09ed48a5 remove trailing \n in panic(). approved perry. 2002-09-27 15:35:29 +00:00
thorpej 6c88de3b53 Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller.  Use it
rather than invoking cfattach->ca_match directly.
2002-09-27 03:17:40 +00:00
thorpej d1ad2ac4f2 Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver.  The cfdriver is then looked
up in a list which is built at run-time.
2002-09-27 02:24:06 +00:00
simonb 63096043b3 Use "#define\t" instead of "#define ". 2002-09-22 08:30:56 +00:00
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
uch dade289395 add uvmexp.intrs++ 2002-03-28 15:34:20 +00:00
uch 0ae715f6d2 All the sh3 ports had an identical procfs_machdep.c, so use a common
file under arch/sh3/sh3.
2002-03-27 10:44:38 +00:00
chs e0a7781fc7 avoid accounting errors in pmap_enter() by only updating the counters
once the operation can no longer fail.  fixes PR 16028.
2002-03-27 04:47:28 +00:00
uch 7803620f8d mmeye specific devices are moved to mmeye/dev 2002-03-24 18:08:42 +00:00
uch 24ec477a45 Rework interrupt code.
+ Fully utilize SH SR.I[0:3] interrupt level.
 + software interrupt is emulated by TMU1, 2 one shot interrupt.
 + implement generic soft interrupts.
 + implement clockframe correctly.
2002-03-24 18:04:39 +00:00
uch 50fcaf7ba0 add cpu device. 2002-03-24 18:01:29 +00:00
uch 049c84193e shb device is integrated to sh3/dev/shb.c and clean up locators. 2002-03-24 18:00:41 +00:00
uch 731150d9ce add SH7750S IPRD register define 2002-03-24 17:57:33 +00:00
itojun 7ffd9429a4 s/PS_STRINGS/p->p_psstr/, as requested by christos 2002-03-18 17:00:20 +00:00
atatat 31144d9976 Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command".  ERESTART is -1, which can lead to
confusion.  ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4.  No ioctl code should now return -1 anywhere.  The
ioctl() system call is now properly restartable.
2002-03-17 19:40:26 +00:00
uch 93da9db963 cosmetic changes, fix comments. 2002-03-17 17:55:22 +00:00
uch 1080799576 change to per-process AST. 2002-03-17 14:06:38 +00:00
uch 57918e656a add kernel stack debug option. 2002-03-17 14:05:47 +00:00
uch 02add6730a reserve wired entries for kernel stack. 2002-03-17 14:04:18 +00:00
uch 3900e66164 add kernel stack and trapframe debug command. 2002-03-17 14:03:55 +00:00
uch 9e6153d985 remove obsoleted functions. 2002-03-17 14:03:34 +00:00
uch b4b9d38675 zero clear all TLB entry to avoid unexpected VPN match. 2002-03-17 14:03:09 +00:00
uch 1e6e3f896d write-through mode for now. since SH4 kernel access page table via P2. XXX 2002-03-17 14:02:43 +00:00
uch 4c6260b9de kernel stack fix. old code simply P3 address converted to P1, it
caused memory destruction when kernel stack grow over 1 page.  new
code use P3 address for kernel stack. but for the sake of debug, P1
kernel stack mode remain.
2002-03-17 14:02:03 +00:00
christos 640a59b952 catch-up with stackgap change. 2002-03-16 20:45:43 +00:00
chs 9fe7f9402f only comments may follow #endif on a line. 2002-03-16 05:27:53 +00:00
uch 9a0d81c6cc use IOM_RAM_BEGIN macro instead of ram_start. 2002-03-10 07:46:51 +00:00
uch 672baca18b proc0 and page table intialize routines are moved to sh3_machdep.c 2002-03-10 07:46:12 +00:00