Commit Graph

27518 Commits

Author SHA1 Message Date
wiz 3f9984fc90 `existent', not `existant' 2001-06-19 13:42:07 +00:00
fvdl fc4ff23a7a Fix a few bogons. 2001-06-19 13:19:54 +00:00
simonb e50bbd9bf9 Add -Wstrict-prototypes. 2001-06-19 13:00:42 +00:00
wiz f3f6c5b675 `accessible' only has one `a'. 2001-06-19 12:52:20 +00:00
simonb d4bcd9c735 Add/change prototypes so that macpcc builds with -Wstrict-prototypes. 2001-06-19 12:02:55 +00:00
nonaka 595d6a40b4 Back out last changes. 2001-06-19 11:56:27 +00:00
nonaka b9c1984c7e Back out last changes. 2001-06-19 11:36:17 +00:00
scw 21481088f3 Minor correction for mvme68k. 2001-06-19 09:51:03 +00:00
fvdl b4b5dc533d Add fxsr CR4 bits. 2001-06-19 09:12:49 +00:00
simonb 43eba60849 Make all the ppc delay() functions the same - formating change only, no
code changes.  Step one of a unified ppc clock.c.
2001-06-19 08:34:49 +00:00
mrg e16036ef83 complete sparc descriptions. 2001-06-19 07:49:14 +00:00
simonb 97b16e911f Move the DSISR SPR bit definitions from <powerpc/mpc6xx/pte.h> to
<powerpc/spr.h>.  Remove unused ISI/SRR1 bit definitions.
2001-06-19 07:14:23 +00:00
christos 495370b307 add x86_64 2001-06-19 02:49:05 +00:00
fvdl ba22234cb4 .s -> .S for microtime 2001-06-19 02:06:52 +00:00
fvdl 4880ff208d Forgot this one. This is basically a copy of the i386 version;
needed because the sim provides this, likely to be nuked later.
2001-06-19 02:06:15 +00:00
fvdl 653103e16a This was previously missed. 2001-06-19 01:58:46 +00:00
fvdl 090a2bb9f1 Fix typo in comment. 2001-06-19 01:40:42 +00:00
fvdl 9b4c0e34d2 Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
2001-06-19 00:19:12 +00:00
thorpej 9c9eba63ec Add gsip(4), gphyter(4), and sf(4) drivers. 2001-06-18 22:45:54 +00:00
thorpej 7478f1c9a3 Add sf(4), gsip(4), gphyter(4) drivers. 2001-06-18 22:40:19 +00:00
bjh21 cb36bacea5 Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S
into arm/arm/bus_space_notimpl.S.  They were identical anyway.

This file has no excuse for being in assembler, but I'll leave that for another
day.
2001-06-18 22:26:15 +00:00
bjh21 80c5d7ab99 Move <arm/arm32/bus.h> to <arm/bus.h>, since it looks like it's going to be
necessary on arm26 as well.
2001-06-18 21:37:32 +00:00
bjh21 743e0579d1 Remove "defopt FOOTBRIDGE" -- it's in files.footbridge now. 2001-06-18 20:49:14 +00:00
mrg cbe144f269 copy tlb_flush*() #defines here, but rename them tlb_flush*_real(). this
allows for tlb_flush*() to be defined differently if MULTIPROCESSOR.
2001-06-18 15:42:06 +00:00
nonaka 03e1e2dc99 Add bus_dma entry. 2001-06-18 14:04:39 +00:00
rafal 9e735123dc mmeye (as the text says) is sh3, not arm. 2001-06-18 11:50:07 +00:00
bjh21 c5b2129e84 Re-write arm26 description, and remove mention of "Acorn Risc Machines" from
the arm32 description, since they were Advanced by the time the ARM6 came out,
and are now just ARM.
2001-06-18 11:48:28 +00:00
uch 51b515b09a recompile. 2001-06-18 11:31:32 +00:00
uch 376c55b2be arm, mips: forgot to initialize boot console. 2001-06-18 11:31:04 +00:00
wiz ccfe29f3cf Symmetric has one s and two m's. 2001-06-18 11:23:00 +00:00
sommerfeld b10656ba32 Delete dead code.
Mask segment registers from trap frame with 0xffff for cleanliness.
2001-06-18 03:33:59 +00:00
sommerfeld 926b6ff132 since seg regs are 16 bits, toss high order bits from the trapframe 2001-06-18 03:32:14 +00:00
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
christos 0f380fac15 Add an e_trapsignal member to struct emul, so that emulated processes can
send the appropriate signal depending on the trap type.
2001-06-18 02:00:48 +00:00
sommerfeld 7e7d262c34 Add %fs/%gs to trap frame and save/restore them on
trap/interrupt/syscall entry from userspace.

Remove special-case "by hand" validation of fs/gs register values as
well as special handling of them in various signal handling paths.

Now, like %ds and %es, they are validated by the hardware on return to
userland.

This paves the way for the use of %fs for per-cpu data on
multiprocessor systems, and fixes an otherwise difficult-to-fix
interaction between threads/clone(2) and USER_LDT.

Discussed in advance with Frank van der Linden.
2001-06-17 21:01:32 +00:00
tsubai 1614d87d0e Support the new iBook. 2001-06-17 19:54:47 +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
nonaka 31794a5423 NEWPMAP 2001-06-17 16:01:28 +00:00
nonaka b83f37566d identified prep model. (I missed it...) 2001-06-17 15:59:57 +00:00
nonaka 5098ff59f6 identified prep model. 2001-06-17 15:57:11 +00:00
thorpej 97354efd4d More corrections. 2001-06-17 14:54:29 +00:00
kleink abaced98c3 Fix context handling for 32-bit environments:
* Really pass PSR ICC bits instead of raw CCR.
* Don't touch ASI and FPRS, which are not part of the 32-bit mcontext.
Also, correct printf conversions in svr4_printmcontext.
2001-06-17 14:39:32 +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
simonb 91817c8f5e s/workstations/machines/ for pmax and sgimips. Make the description of
the walnut more technically correct.
2001-06-17 13:37:01 +00:00
kleink db52b31344 Save/restore only the FP register file as far as the 32-bit environment
is concerned; in particular, don't overrun the [mu]context.
2001-06-17 13:10:05 +00:00
perry 407eec5184 minor fixes 2001-06-17 04:10:16 +00:00
lukem 24c92d43e5 minor typo 2001-06-17 00:48:28 +00:00
cyber 662f93aeeb Change the way boot strings are handled and the way the root device
is determined.  This allows multiple internal disks in a raq2 to work.
2001-06-17 00:11:40 +00:00
christos 38527630e2 fixes from perry 2001-06-16 23:17:34 +00:00
christos 002c8b43f1 Add a list with a brief description of each ports. With 43 ports right
now it is a bit tough to collect all the information.

XXX: Portmasters, or people who know better, please correct any mistakes.
2001-06-16 23:04:15 +00:00
tsutsui 01704d0990 Add iha at pci, which just works on my CATS. 2001-06-16 13:58:18 +00:00
toshii bf923a99b8 Don't set HPCFB_SWAP_BYTE (if little endian). 2001-06-16 12:53:05 +00:00
dbj ef86c3badd fix handling of transmit length calculation so we now handle full length xmits 2001-06-16 09:18:46 +00:00
dbj e9d708e25b allow unaligned pointers in bus_dmamap_sync 2001-06-16 09:08:05 +00:00
tsutsui aa35eff5da Enable some devices which I am/was using:
epic* at pci?
 fxp* at pci?
 sip* at pci?
 tlp* at pci?
 inphys* at mii?
 qsphys* at mii?
2001-06-16 05:47:37 +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
tsutsui c5bc6249f0 Make sure to write out the dump header into an independent block
on the dump device on sun3x. (sync with sun3)
Now savecore(8) can find core dump in dumpdev properly.

XXX "target kcore /dev/mem" on gdb does not work yet.
2001-06-16 00:38:19 +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
dbj 093fab47ce remove extra args from printf 2001-06-15 21:56:06 +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
drochner b97fed556d vm_map_t -> struct vm_map *
vm_page_t -> struct vm_page *
simple_lock_data_t -> struct simplelock
2001-06-15 17:48:13 +00:00
nonaka 7f44dfec92 Compile again. 2001-06-15 15:53:27 +00:00
nonaka 80e152f0fc Use new common bus.h framework. 2001-06-15 15:50:04 +00:00
nonaka 3a3661fb58 Delete unused function. 2001-06-15 15:24:03 +00:00
bouyer 17eff1c958 Pass WDC_CAPABILITY_MODE to the wdc core, so that it will set timings
on the drive side too.
Deal properly with the case where master and slave don't have the same timings,
and set PIO timings too.
2001-06-15 10:35:26 +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
sommerfeld d3249871b5 Rework how user-mode instruction and stack fetches are done.
While we're in here, catch another vm86 protocol botch.
2001-06-15 05:43:40 +00:00
thorpej e51a043945 Yet more interrupt cleanup -- the platform mater interrupt establish
function now just takes an "irq", which is an index into the irqmap
table for that platform.
2001-06-15 04:01:39 +00:00
fredette 6000674775 Now unmap the PROM's pages only after we have
installed our own vector table.
2001-06-15 00:32:38 +00:00
bjh21 5dc1e8334c Fix abuse of bus_space_handles in podloader functions. 2001-06-14 23:09:23 +00:00
thorpej 8eb3b954f1 Don't need to prototype child_return() here, it's in <sys/proc.h>. 2001-06-14 22:56:55 +00:00
thorpej 1d161cd563 Correct a comment. 2001-06-14 19:03:43 +00:00
thorpej fe87c9aade When the old PCI address map is in use, disable I/O space. Also disable
I/O space on PBC revs < B2.
2001-06-14 18:52:26 +00:00
thorpej 0ddf0d259b Don't use BUS_END to compute SYS_END. 2001-06-14 18:48:23 +00:00
thorpej 80dfaa3e5a Read the PCI memory space base and the PCI DMA window base from the
V3 PBC, and use them in the bus mem tag and the bus dma tag on the
P-4032.  This allows us to get much further when PMON has configured
the PBC using the old-style PCI address map.
2001-06-14 17:57:26 +00:00
uch 6c492e4e70 fix hpcio configuration. 2001-06-14 16:55:34 +00:00
fredette 1a4779d8a4 Now get the prototypes from the common sun68k/sun68k/control.h. 2001-06-14 16:36:46 +00:00
fredette 7ab5601058 Since physical memory below 0x2000 isn't mapped anywhere
for now, return EFAULT when /dev/mem tries to read it.
Other physical memory not managed by the pmap system is
mapped at the same virtual addresses.  Now that we
understand how VME PTEs are constructed, give mmapping
a VME bus a better chance of working..
2001-06-14 16:32:45 +00:00
thorpej 4c73c770ce Add MEMSIZE and ETHADDR options, so that they can be set in
the kernel config file, in case you have a buggy PMON which
doesn't provide the environment variables to the kernel.
2001-06-14 16:14:37 +00:00
fredette 8f6cff260d Now uses the common sun68k bus_space/bus_dma
and autoconf code.
2001-06-14 15:54:18 +00:00
fredette e20baedfd4 Added prototypes for w16zero and w16copy, found
in the new w16copy.s.
2001-06-14 15:49:05 +00:00
fredette c7154a0bfd Added two functions that zero memory and copy memory
in an optimized fashion using only properly aligned
8- and 16-bit accesses.
2001-06-14 15:38:16 +00:00
thorpej defcaa8bcb Initlialize PMON after configuring the console, so we can see
debugging info.
2001-06-14 15:29:23 +00:00
thorpej 587d3ec2b4 Insert some debugging code, conditional on PMON_DEBUG. 2001-06-14 15:28:56 +00:00
fredette 70ba9292d4 Now use the bus_space_peek_N function to probe for
the device, and common sun68k_find_prom_map function to
find a PROM mapping for a device.
2001-06-14 15:20:46 +00:00
fredette 9c1d420baf This file has been moved to sys/dev/vme. 2001-06-14 15:15:15 +00:00
fredette 15b02e5ba0 Added a function, prom_sd_target, to translate a PROM
sd unit number into a SCSI target.  Now only set up our
g0 and g4 handlers inside prom_abort(), so we're not
normally running with them.
2001-06-14 13:21:39 +00:00
fredette edad0f956c Under _LKM, now undefine KERNBASE for declaring it.
Not sure if this is correct, but the real question
is whether 68000 LKMs are even possible.
2001-06-14 13:18:54 +00:00
fredette 54f88e2668 Corrected the value of DVMA_OBIO_SLAVE_BASE; obio
devices can see the entire CPU address space.
2001-06-14 13:17:04 +00:00
fredette 01e5507e7e Now simply include the real header under arch/sun68k. 2001-06-14 13:16:03 +00:00
fredette 000fa36842 Moved the definition of romVectorPtr here from mon.h.
Prototype prom_sd_target.
2001-06-14 13:15:21 +00:00
fredette 9e52c15c31 Now simply include the real header under arch/sun68k. 2001-06-14 13:12:50 +00:00
fredette af6051568c Removed. These files can be found under arch/sun68k now. 2001-06-14 13:10:20 +00:00
fredette c3679650d5 Added some kernel sources that can be shared between
sun2 and sun3.
2001-06-14 13:08:11 +00:00
fredette 17de8ec19e Set ARCHSUBDIR to m68k when MACHINE_ARCH is m68000.
Add sun68k to SUBDIR when MACHINE is sun2.
2001-06-14 13:01:27 +00:00
fredette c1c742b4c9 Added sources for the sun2 boot blocks and other
sun68k-ish code, all of which ought to eventually
be shared with the sun3.
2001-06-14 12:57:10 +00:00
uch ea54d618ea ANSI KNF. and change my copyright to TNF copyright. 2001-06-14 11:09:55 +00:00
sato 4cc6a0ac93 fix 'mask clock to PIU' 2001-06-14 08:43:41 +00:00
thorpej 3bad583046 Oops, use the correct space tag when unmapping the RTC on the
P-4032 after calibrating the clock.
2001-06-14 05:58:19 +00:00
itojun 4d51fe368b change the meaning of ifnet.if_lastchange to meet RFC1573 ifLastChange.
follows BSD/OS practice and ucd-snmp code (FreeBSD does it for specific
interfaces only).

was: if_lastchange get updated on every packet transmission/receipt.
now: if_lastchange get updated when IFF_UP is changed.
2001-06-14 05:44:23 +00:00
rafal 5b1c3b74ba Remove externs moved to headers, fix interrupt masks to be zeroes at startup,
add MIPS clock interrupt (int5) event counter and clean up some more debug
goo.
2001-06-14 01:15:35 +00:00
rafal d9d912728f Get rid of externs moved to header files, add event counter for the clock
interrupt, use platform.ticks_per_hz instead of hardcoded constant for the
counter increment (XX: not that the ticks_per_hz is calculated for the IP32
yet).
2001-06-14 01:09:37 +00:00
rafal 3327706cab Add externs for struct platform and the machine type definitions (mach_type,
mach_subtype, mach_boardrev).
2001-06-14 01:06:08 +00:00
uch 0774d04303 (TX39) switch from TX local I/O manager to hpcio 2001-06-13 19:09:07 +00:00
nathanw 0adcac34e5 That's supposed to be <machine/io.h> in the XXX'd #ifdef, not a repeat
of <machine/bus.h>.
2001-06-13 17:52:43 +00:00
sato 01b21ab7a1 register VRIP_INTR_BAT handler to vrip_intr_establish(). 2001-06-13 16:05:59 +00:00
soda 45c99b6989 remove resolved TODOs, reorder some entries, and some formating fixes. 2001-06-13 15:41:53 +00:00
soda 22b59feda9 introduce "struct platform", and remove "cputype" variable. 2001-06-13 15:39:13 +00:00
soda fb93db6893 remove __BROKEN_CONFIG_UNIT_USAGE, finally (sorry to be late, cgd). 2001-06-13 15:38:15 +00:00
soda cefa712681 update configurations for "struct platform" and related changes 2001-06-13 15:37:27 +00:00
soda 56716edd1f incomplete platfrom description for SNI RM200. 2001-06-13 15:36:44 +00:00
soda 6ddec4b5e4 platform description for NEC RISCstation 2200 variants.
not tested.
2001-06-13 15:36:04 +00:00
soda 8612165cf4 platfrom description for NEC Express RISCserver and NEC RISCserver 2200.
tested by Bob Meader on NEC RISCserver 2200, and
Chuck Silvers on NeTpower S1030 (likely compatible with Express RISCserver),
until it asks for boot device.
2001-06-13 15:35:04 +00:00
soda ee220d37b2 platform description for NEC RISCstation 2250.
test by Shuichiro URATA (until it asks for boot device)
2001-06-13 15:33:27 +00:00
soda 42215b6b35 platform description for NEC Express 5800/230, R4400 & PCI variant.
tested by Izumi TSUTSUI.
2001-06-13 15:30:38 +00:00
soda ed19e07cc7 platform description for Acer PICA-61 and its OEM.
tested by myself on NEC Image RISCstation.
2001-06-13 15:29:30 +00:00
soda 4e70aed6b2 platform description for MIPS Magnum (Microsoft-Jazz).
tested by myself on a NEC Magnum derived machine.
2001-06-13 15:28:23 +00:00
soda a8a1317719 latform description for DESKTECH Tyne and rPC44.
not tested.
2001-06-13 15:27:17 +00:00
soda b7f2c5a631 common chipset description for NEC PCI generation platforms 2001-06-13 15:23:22 +00:00
soda 221f729935 common chipset description for NEC EISA generation platforms 2001-06-13 15:22:49 +00:00
soda 272b3c0d0d common chipset description for NEC EISA and PCI generation platforms 2001-06-13 15:21:52 +00:00
soda 3e5520d4d1 common description for platforms which have Jazz and EISA
but doesn't have PCI, like magnum based platforms and
NEC EISA generation platforms
2001-06-13 15:21:00 +00:00
soda 4f9452f773 common chipset description for magnum based platforms like
Microsoft-Jazz and PICA-61
2001-06-13 15:19:28 +00:00
soda eab4fd5e7a rename statically allocated software context which is needed for
console initialization, from "struct necpb_config necpb_configuration;"
to "struct necpb_context necpb_main_context".
to resolve naming conflicts with "struct XXX_config *XXX_conf;"
which describes platform-dependent configuration variants.
2001-06-13 15:18:28 +00:00
soda 1aa149136b rename statically allocated software context which is needed for
console initialization, from "struct necpb_config necpb_configuration;"
to "struct necpb_context necpb_main_context".
to resolve naming conflicts with "struct XXX_config *XXX_conf;"
which describes platform-dependent configuration variants.
2001-06-13 15:18:27 +00:00
soda 56197e330a make vga frontend does same thing with pccons frontend 2001-06-13 15:12:28 +00:00
soda d54e67b2d3 add copyright notice 2001-06-13 15:12:02 +00:00
soda 5738ad78e7 remove "cputype", introduce "struct jazzio_config *jazzio_conf;" to
describe platform-dependent variants. clean up jazz i/o interreupt
handling had device configuration information.
2001-06-13 15:11:38 +00:00
soda 131e5819c3 remove "cputype", introduce "struct asc_config *asc_conf;"
to describe platform-dependent variants.
2001-06-13 15:10:35 +00:00
soda ceabf3273a remove "cputype", introduce "struct btl_config *btl_conf;"
to describe platform-dependent variants.
2001-06-13 15:09:32 +00:00
soda bc0d30a90c introduce "struct platform", and remove "cputype" variable.
this change also includes a patch to obtain secondary cache size
from ARC firmware by Bob Meader, which was posted on port-arc on 18 Aug 2000.
this should make NEC Express RISCserver work.

this change obtains ID of display controller from ARC firmware, too.
2001-06-13 15:08:05 +00:00
soda b7abba7794 split pccons driver into "pccons" and "opms",
also split into bus-dependent frontend and bus-independent backend.
2001-06-13 15:05:43 +00:00
soda 226c44ecbc use MI i8253reg.h instead of home grown one 2001-06-13 15:03:53 +00:00
soda ba6a3c6db5 split ISA bridge code into bus dependent frontends to remove "cputype"
variable.
2001-06-13 15:03:24 +00:00
soda c6eacfae15 split clock_mc.c into interval timer driver (timer) and
real time clock driver (mcclock)
2001-06-13 15:02:12 +00:00
soda c7b603e55d split clock.c into interval timer part ("timer" for cpu_initclock) and
real time clock part ("todclock" for inittodr, resettodr)
2001-06-13 15:00:26 +00:00
soda 33669543d9 remove algor related codes, because there is independent (and working!)
algor port now.
2001-06-13 14:58:38 +00:00
soda 7a314c516c enable device_register(9) on arc port to parse boot device name
passed by ARC firmware correctly.
2001-06-13 14:36:33 +00:00
rafal 68306a9bf0 Implement a db_trap_callback which turns off the watchdog on entry to DDB
and turns it back on on exit.  Hook the callback in early in the boot, so
it's there as soon as DDB is available.
2001-06-13 12:34:24 +00:00
wiz c03a48d64f withough -> without 2001-06-13 10:45:57 +00:00