christos
59abdecf4b
Add a linux specific trapsignal() function. This is just a passthrough
...
on all platforms but the i386. On the i386 we look at T_PROTFLT and send
a SIGSEGV instead of SIGBUS. This makes allegro lisp 5.0 and pvs (a proof
verification system) to work.
XXX[1]: We need to go through each architecture and verify that we send
the correct signal on each trap type.
XXX[2]: trap.c on all other architectures but i386 needs to be modified
to s/trapsignal/(*p->p_emul->e_trapsignal)/g
2001-06-18 02:04:42 +00:00
tsubai
91f99e1981
Forgot to commit this -- move file .../bus_dma.c line to files.${machine}.
2001-06-17 19:32:17 +00:00
simonb
56151c1fef
Make this compile and work for the IBM 4xx series CPUs.
2001-06-17 13:39:33 +00:00
simonb
d70d5d1ee0
Use _C_LABEL() for externally referenced symbols.
2001-06-17 13:39:02 +00:00
simonb
0647591d3a
Globalise "trapexit" for new ddb tracing changes.
2001-06-17 13:38:33 +00:00
matt
38fc9e283d
Fix pte_spill to set the index on the proper pvo. Deal with recursion
...
in pmap_syncicache.
2001-06-16 03:32:48 +00:00
matt
979edf3c4a
pmap_syncicache can be called recursively. Properly deal with that
...
situation.
2001-06-15 22:28:54 +00:00
matt
60f8375758
Replace printf with (*pr)
2001-06-15 22:27:07 +00:00
matt
e55c9f74af
Add missing braces in pmap_pte_to_pvo (DEBUG|PMAPCHECK defined). Rearrange
...
some code so that consistency check in pmap_pte_to_pvo do not trigger on
false positives. Correct/enhance some printfs.
2001-06-15 21:29:54 +00:00
matt
25a2c4d481
While not stricly needed, to match pmap_pvo_find_va, mask of the page
...
offset bits.
2001-06-15 20:53:45 +00:00
matt
787e1b0b36
When comparing VA's, ignore the page offset bits.
...
Invert and strengthen a test for pte equality.
2001-06-15 20:43:01 +00:00
matt
c7c7dab8f1
Stop overloading unused bits in the pte. Use the low 12bits of the vaddr
...
instead to store them. Add a macro to fetch the vaddr without them.
Make all variables/routines prefixed with pmap_
Cleanup & fix some of the vsid bitmap usage.
Cleanup DEBUG printfs. Add some more checks to pmap_pvo_to_pte.
2001-06-15 18:26:06 +00:00
matt
192642af05
Don't enable PMAPCHECK by default.
2001-06-15 08:17:00 +00:00
matt
f6b81171c1
Globalize trapexit. Improve db_trace.c so that you can trace thru traps!
...
Rework the output so that is also prints the frame address by default.
2001-06-15 08:09:33 +00:00
matt
0278444e19
Add a check to pvo_check which makes sure the pte is really in the
...
pteg_table. In pte_to_va, take into account if the PTE_HID is set.
2001-06-15 08:08:04 +00:00
matt
ab92d9cd59
phys_map should use kenter/kremove
2001-06-15 08:07:03 +00:00
matt
816a5637cd
When releasing the SR VSID, mask off the bits not related to the index
...
in the pmap vsid bitmap.
2001-06-15 06:27:07 +00:00
simonb
18b2f7e6a1
Add a port to IBM's PPC405GP Reference Board (the "walnut")
...
by Eduardo Horvath and Simon Burge of Wasabi Systems.
IBM 4xx series CPU features:
- New pmap and revised trap handler.
- Support on-chip timers, PCI controller, UARTs
- Framework for on-chip ethernet and watchdog timer.
General PowerPC features:
- Add in-kernel PPC floating point emulation
- New in{,4}_cksum that is between 1.5 and 5 times faster than the
old version depending on CPU type.
General changes:
- Kernel support for generic dbsym-style symbols.
2001-06-13 06:01:44 +00:00
tsubai
713feac239
Include powerpc/mpc6xx/{bat.h,pte.h} if PPC_MPC6XX is defined.
2001-06-12 17:20:50 +00:00
simonb
0bdd2faeed
Get the opcode mask right for almost all the Op_OE opcodes (only two were
...
correct).
2001-06-12 05:31:44 +00:00
tsubai
a3496ef8a8
When invoking the pcb_onfault mechanism, pass the return value of uvm_fault()
...
to the onfault routine.
2001-06-10 16:31:59 +00:00
tsubai
29d06d028c
Fix printf format error.
2001-06-10 15:54:05 +00:00
tsubai
bedfcf904c
libkern.h is included in systm.h. Not needed here.
2001-06-10 15:05:44 +00:00
tsubai
5a051092e4
Rename ofb_softc to ofbus_softc. (XXX Is this good name?)
2001-06-10 11:36:03 +00:00
tsubai
f6482742de
pte_spill -> pmap_pte_spill.
2001-06-10 11:09:28 +00:00
tsubai
fafb5d4bc3
Make the new pmap optional. Use the old (stable!) pmap by default.
2001-06-10 11:01:26 +00:00
matt
66822e55be
Fix a spl issues. Turn on PMAPCHECK until instability problems are found.
...
Add a pmap_pvo_verify call you call it from it ddb and verify the pmap
data structures are sound. Fix warnings when DEBUG was turned on.
2001-06-10 07:56:36 +00:00
matt
b9ef9e99da
Print a more informative is a uncatchabl DSI or ISI exeception happens in
...
kernel mode.
2001-06-10 07:49:13 +00:00
briggs
c97896cd4d
Pull avail_start/avail_end logic for bus_dmamem_alloc() from macppc port,
...
as suggested by matt@netbsd.org--the vm_physmem array may not be in order.
2001-06-10 02:31:25 +00:00
briggs
a2b115fa4c
Up the default # of NMBCLUSTERS to 2048 (GATEWAY) & 1024 (non-GATEWAY)
...
from 512/256.
2001-06-10 02:28:57 +00:00
matt
f6d422beb8
Fix warning about braces & if. Include libkern.h for strncpy prototype
2001-06-08 00:21:45 +00:00
matt
75a27eccff
Rename pte_spill to pmap_pte_spill. Fix pmap_clear_{referenced,modify}
...
to return the previous state of the bit. Make it compile under
-Wmissing-prototypes -Wall. Change around some debug stuff.
2001-06-08 00:16:24 +00:00
matt
e38a49d835
Include a common bus.h and bus_dma.c that powerpc ports can use
...
if they so choose.
2001-06-06 17:37:37 +00:00
matt
938edd5b75
Introduce a new & faster pmap for the MPC6xx (60x, 7xx, 7xxx) PPC CPUs.
...
Move MPC6xx dependent header files to powerpc/include/mpc6xx/
2001-06-06 17:36:01 +00:00
chs
821ec03ed9
replace vm_map{,_entry}_t with struct vm_map{,_entry} *.
2001-06-02 18:09:08 +00:00
tsubai
1a891f65d4
One more gcc-2.95 issue.
2001-05-31 09:19:25 +00:00
tsubai
ba87a6d444
Add gcc-2.95 version.
2001-05-30 20:37:48 +00:00
tsubai
2eae10adb5
Inline bswap{16,32} when the argument is constant.
2001-05-30 13:08:34 +00:00
mrg
67afbd6270
use _KERNEL_OPT
2001-05-30 11:57:16 +00:00
matt
0a3911863f
Use structure assignment instead of bcopy.
2001-05-28 00:15:10 +00:00
matt
8fb5853698
Change the bcopy's to structure assignments.
2001-05-28 00:12:21 +00:00
matt
e2148768dc
Change _MACHINE_PIO_H to _POWERPC_PIO_H
2001-05-27 20:59:15 +00:00
chs
11a9651c8f
replace vm_page_t with struct vm_page *.
2001-05-26 21:27:10 +00:00
matt
b590763f79
Call __syncicache in db_write_bytes. (makes breakpoints work better).
2001-05-18 20:38:27 +00:00
simonb
96a430ba30
If _SOFT_FLOAT is defined, pull floating point va_args from the GPR
...
area and not the FPR area (by having the double argument type test
always fail).
Fixes problems using <stdarg.h> with -msoft-float.
2001-05-16 15:41:03 +00:00
simonb
b3a4957ee5
Fix spr and tbr register number extraction. tbr is untested, but is the
...
same format as spr and had the same mistake.
2001-05-06 16:40:22 +00:00
simonb
982e593742
Remove duplicate opcode.
2001-05-06 16:11:17 +00:00
simonb
ad336f45ee
Fix a bunch of other typos.
2001-05-06 15:30:13 +00:00
simonb
2113399bb4
Fix typos in two instruction codes.
2001-05-06 14:25:09 +00:00
simonb
6a511e05e2
Be consistent with limit constants:
...
- use "U" suffix for unsigned constants
- use "L" suffix for long constants
- use "UL" suffix for unsigned long constants
- use hexadecimal instead of decimal
Fixes build problems with vi (now that warnings/errors are enabled) on
mips, powerpc and arm platforms.
2001-05-04 15:12:32 +00:00
soren
945b972563
PPC machine type tags haven't been used for a while.
2001-05-03 13:11:24 +00:00
martin
77a926d775
Avoid nesting structure declarations, where the nested structur is used at
...
the global level later. Besides stylistic matters, this actually breaks C++
programs (indirectly) using this header.
2001-04-30 15:30:39 +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
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
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
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
7f10ba88b1
#define away pmap_update() in <machine/pmap.h> so that no function
...
call overhead is incurred as we start sprinkling pmap_update() calls
throughout the source tree (no pmaps currently defer operations, but
we are adding the infrastructure to allow them to do so).
2001-04-21 23:51:14 +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
kleink
9133b51cd8
Replace the 'unsigned __COMPILER_INT64__' construct with a new name,
...
__COMPILER_UINT64__, to be supplied - if such a case is made, it shouldn't
be assumed that the unsigned type-specifier may be applied to it.
2001-04-12 22:01:18 +00:00
manu
bb1594b20b
Integrated security review for signal delivery by Wolfgang Solfrank
2001-04-11 19:41:02 +00:00
simonb
1c69191831
Fix typo - s/dbcst/dcbst/.
2001-04-06 16:48:11 +00:00
tsubai
eb4f61df19
Regenerate this file from cvs repository in order to get back original
...
copyright.
2001-04-05 09:58:05 +00:00
jdolecek
c84d3343d1
add standard NetBSD RCS Id on top
2001-04-03 13:10:26 +00:00
tsubai
c13ba16f2b
Fix an uninitialized variable reference in cpu_fork().
...
Reported by Tad Hunt <tad@entrisphere.com>.
2001-03-31 07:50:59 +00:00
eeh
cc5ddb2b20
Make `trace' useful even w/o symbols and add /f option to dump parameters.
2001-03-29 14:58:08 +00:00
briggs
10e66b85b1
Ensure that my last change compiles with warnings enabled.
2001-03-26 19:56:32 +00:00
briggs
2ff606560c
Do not save/restore the kernel SR since we are no longer trying to copy
...
it in pmap_activate(). Pointed out by ws in a private message.
2001-03-26 18:52:29 +00:00
briggs
132a113507
Do not hardcode the kernel segment register, and do not load the kernel
...
segment register in pmap_activate().
2001-03-24 05:30:57 +00:00
tsubai
ce8902b7fe
Merge my MP tree. At this point, Daystar dual 604 card (i.e. Power Macintosh
...
9500/180MP and 9600/200MP) runs at least into single-user mode, possibly
multi-user mode (not stable yet).
2001-03-22 04:11:46 +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
tsubai
83eac66533
Cosmetics.
2001-03-07 08:18:45 +00:00
tsubai
bf498eb12e
Remove MULTIPROCESSOR part. (moved to separate file)
2001-03-07 08:10:44 +00:00
tsubai
90aabafdd1
MP version of trap routines.
2001-03-07 08:05:07 +00:00
matt
7e5ee89ff3
Nuke vm_offset_t, vm_size_t from powerpc.
2001-03-04 03:25:34 +00:00
tsubai
e6ae4943c2
Fix a bug in cpu_switch().
...
Reported by Tad Hunt <tad@entrisphere.com> on port-powerpc.
2001-02-28 20:44:41 +00:00
matt
cd7c0ee5c4
Get the ofppc/prep/macppc/sandpoint/bebox to share the process switch
...
/ setfault / fork_trampoline code.
2001-02-25 20:21:53 +00:00
matt
e7811ad9b6
Move cpu_sysct and dump{mag,lo,siz} & cpu_dumpconf to powerpc_machdep.c.
...
dumpsys is still port-specific for now. XXX dumpsys is still a stub
on all powerpc ports.
2001-02-24 22:39:16 +00:00
matt
aba3f2655a
Add powerpc/powerpc/powerpc_machdep.c
2001-02-24 04:30:42 +00:00
matt
559cea4b1c
Since setregs is common among all the powerpc ports,
...
make a common version and put it in powerpc_machdep.c
2001-02-24 04:29:26 +00:00
manu
472596699d
Removed a copyright for code I have removed in a previous commit
2001-02-12 21:20:32 +00:00
manu
16bc5b4004
Moved the fix for negative errno returned to userland on the PowerPC to a
...
more machine independent fashion
2001-02-11 20:24:49 +00:00
manu
d48e534f38
Fixed a bug in the way errno return was handled in linux emulation (we returned the opposite of the expected errno)
2001-02-09 17:48:01 +00:00
wiz
08ca85d04d
De-lint. Reviewed by christos.
2001-02-09 15:54:18 +00:00
tsutsui
93a1c84cac
Add pio.h to INCS.
2001-02-07 12:43:52 +00:00
briggs
2f624f78d6
Share a single pio.h instead of having 4 nearly-identical copies.
2001-02-05 19:33:54 +00:00
briggs
e96035c57c
Tsubai has convinced me that openpic_init() should remain machine-dependant
...
as the details might differ between archs, and passing the various options
leads to some clutter.
2001-02-05 19:22:23 +00:00
briggs
522ec180e9
Build with -Wall -Wetc.
2001-02-04 17:38:10 +00:00
briggs
ace7a75bd5
Remove dependancy on ICU_LEN m.d. define. Thanks, Tsubai.
2001-02-04 17:35:28 +00:00
briggs
cbb39b8875
defopt openpic
2001-02-04 17:34:11 +00:00
briggs
044caccfff
Split OpenPIC support into powerpc so ports only need minimal custom
...
configuration. openpic_init() now takes a single argument that is the
base of the OpenPIC register space.
2001-02-02 06:11:52 +00:00
manu
5472427809
Added powerpc specific code for Linux compatibility on powerpc ports
2001-01-19 01:36:47 +00:00
jdolecek
d5d431e8ae
make db_[e]regs[] const
2001-01-18 10:54:27 +00:00
thorpej
d74e432ed3
Make softclock a generic soft interrupt of the API is available,
...
adding the requisite void * argument to softclock().
2001-01-15 20:19:50 +00:00
thorpej
a3ec356d52
splimp() -> splvm()
2001-01-14 03:22:04 +00:00