Commit Graph

27871 Commits

Author SHA1 Message Date
msaitoh 33b63f3efa fix microtime() 2001-06-24 05:00:28 +00:00
msaitoh a76500b70d trim PCLOCK to 49.9MHz 2001-06-24 04:57:58 +00:00
simonb 78cdef0bfc Move on-chip 405GP devices to powerpc/ibm4xx/dev. 2001-06-24 02:13:37 +00:00
simonb 0bc879bff8 Update some includes, note that there can be more than one emac on some
of the NP processors.
2001-06-24 01:19:17 +00:00
simonb 98120079fb ibm405gp.h also includes emac register definitions, remove them from here. 2001-06-24 01:18:16 +00:00
simonb 4e71ca0f12 Use 405GP PVR value from ibm405gp.h, not a local #define. 2001-06-24 01:16:18 +00:00
simonb 6d4b6ead83 Update for walnut.h/ibm405gp.h changes. 2001-06-24 01:15:41 +00:00
simonb 8980655597 Move 405GP registers, addresses and other info to ibm405gp.h. Leave only
board-specific addresses and other info in walnut.h.
2001-06-24 01:13:11 +00:00
simonb e3030308b1 Comment out de* and uncomment the TLP_MATCH_* options. 2001-06-24 01:06:02 +00:00
bjh21 c92dc14f82 It looks like cninit() is necessary on Risc PCs using the old console
drivers.  At least, putting it back in stops my Risc PC crashing at startup.
2001-06-23 16:47:41 +00:00
bjh21 690f56e57a Add a common <arm/param.h>, containing those few things that are obviously
common across all ARM systems.
2001-06-23 13:25:19 +00:00
toshii e5c43d9b98 Fix a nit. 2001-06-23 12:32:20 +00:00
bjh21 3622d4e282 Add <arm/endian.h> and remove the cats, dnard and netwinder versions, since
they're all the same (a redirect to <sys/endian.h>).
2001-06-23 12:20:27 +00:00
toshii 6adb72bfb8 Speed optimization, inspired by recent sys/arch/arm/arm/blockio.S changes.
Among bus_space_{read,write}_multi, only bus_space_read_multi_2 is
optimized.  bus_space_write_multi_2 didn't gain speed with ldm.
bus_space_*_multi_{1,4} aren't heavily used anyway.
2001-06-23 10:19:04 +00:00
toshii 446833d1b1 Enable a bunch of PCMCIA network cards. They cannot be tested before
enabling.
2001-06-23 10:05:11 +00:00
toshii c9b6aeb4f9 Add jornada720 keyboard device. 2001-06-23 09:28:59 +00:00
toshii 912e831053 Remove obsolete BOOTINFO_FB_* workaround. 2001-06-23 09:25:17 +00:00
toshii b57d496dee Add support for jornada720 keyboard and some LCD parameter controls.
The code is somewhat incomplete, but is quite functional.
2001-06-23 09:20:05 +00:00
toshii e671a13d47 Move sed1356_softc definition to a header file. Setup a backlight
power control hook.
2001-06-23 09:13:06 +00:00
matt 7effaaaa7c Disable interrupts when dealing with pvo lists. clean up some things.
Keep track of executable ness of pages.  Of sync icache executable pages.
2001-06-23 03:17:32 +00:00
matt dde0daca06 Use __asm __volatile. Use _POWERPC_SPR_H_
Add PTE_RO/PTE_RW for old pmap.
2001-06-23 03:16:11 +00:00
matt e25aa0ea82 Use pmap_kenter_pa instead of pmap_enter for phys_map 2001-06-23 03:10:59 +00:00
tsutsui 12e908657b Add iha(4), which works as well on my 7248. 2001-06-23 03:09:20 +00:00
matt 5d30ec2c7e Use SPR_xxx for the *MISS HASH CMP, etc. 2001-06-23 02:36:14 +00:00
matt 8a580d3ce9 #include <powerpc/spr.h> 2001-06-23 02:24:20 +00:00
matt e6ea394a3a #include <powerpc/spr.h> Use SPR_HID0 in place of 1008 2001-06-23 02:12:34 +00:00
matt a627c75f35 #include <powerpc/spr.h> and SPR_PIR in place of 1023 2001-06-23 02:07:07 +00:00
lukem da0e06bcd6 remove remnants of np device, per my recent files.vax commit 2001-06-22 16:40:51 +00:00
toshii 90b62cfa61 Don't include <machine/autoconf.h>, which should not be necessary.
Moreover, hpcarm doesn't have such a header file.
2001-06-22 14:38:44 +00:00
thorpej 2a171eff3a Correct a typo. 2001-06-22 14:29:12 +00:00
thorpej 3ae8717568 Add commented-out examples for how to use MEMSIZE and ETHADDR options
in the event that you need them (really old PMON versions).  Add FDESC.
Comment out SCSI-related stuff until I work out why the system goes into
outer orbit when its enabled.
2001-06-22 14:15:56 +00:00
thorpej 04986e1e9a Add FDESC. 2001-06-22 14:14:16 +00:00
thorpej 306b1b09bc Kernel config file for a P-6032. 2001-06-22 14:12:19 +00:00
simonb 2b987a894d Use a few more header defines instead of magic numbers.
Wrap some longer lines.
2001-06-22 13:21:35 +00:00
simonb 7b9237cb08 White space nit. 2001-06-22 11:42:33 +00:00
simonb 363019a6c1 Add a db_active variable that indicates if a call to the debugger is
active.  Seems to be required by the MI com driver nowadays.
2001-06-22 11:40:41 +00:00
simonb 4a8066748f Use register names from <machine/walnut.h> and not magic numbers. 2001-06-22 11:37:49 +00:00
simonb c32976ecd7 Make this work without DDB configured in. 2001-06-22 11:36:05 +00:00
chris c3b7efe5d3 GC a couple of unused entries in the pmap struct 2001-06-22 09:12:11 +00:00
chris cca2bd293b Use a pool to store pmap structs. 2001-06-22 09:09:42 +00:00
thorpej 36a4b627d0 Sigh, Jason needs to go to sleep. 2001-06-22 07:00:25 +00:00
thorpej 32e780695d Add a couple of missing p6032 bits. 2001-06-22 06:50:21 +00:00
thorpej 0c37c9e860 Check in work-in-progress of P-6032 support. This is not tested,
but is meant for back-up purposes.
2001-06-22 06:02:54 +00:00
thorpej 7f047ac2b2 Use the other DMA window (with prefetch enabled) on the P-4032
on-board Ethernet.  Suggested by Nigel Stephens <nigel@algor.co.uk>.
2001-06-22 05:57:26 +00:00
thorpej b440db94e8 Fill in one P-6032 snippet. 2001-06-22 04:33:26 +00:00
thorpej 4b23ee5d3b PCI configuration space access for BONITO. 2001-06-22 03:58:55 +00:00
thorpej 5df8e5587e Basic BONITO software state definitions. 2001-06-22 03:58:33 +00:00
thorpej 90c3629b19 Add a definition for BONITO_PCIMAPCFG_TYPE1, and make the BONITO
accessor macros useful in the NetBSD kernel environment.
2001-06-22 03:58:03 +00:00
thorpej e4ce5f4268 A P-6032 will never have a V3 PBC -- don't include its option header. 2001-06-22 03:45:24 +00:00
simonb 7fe4c3ba1d Make this compile when DEBUG isn't defined. 2001-06-22 03:25:39 +00:00
thorpej b5443137f0 Only call through the function pointer if it's not NULL. 2001-06-22 01:42:20 +00:00
toshii 8128f45c37 Remove useless DEBUG code. 2001-06-22 01:29:26 +00:00
matt 41d73006f1 DMISS/DCMP/HASH1/HASH2/IMISS/ICMP/RPA are also valid on the MPC6XX
(specially the 603 and maybe the 601)
2001-06-22 00:01:25 +00:00
chris 2f52c6af4f Remove commented out reference to EBSA missed in previous change. 2001-06-21 23:11:48 +00:00
eeh 6bda7d4cc7 Add an install kernel w/room for a miniroot. 2001-06-21 23:00:19 +00:00
chris 9bb435db31 Tidy up bootconfig, only needs the footbridge section on cats. 2001-06-21 22:08:28 +00:00
matt 6d3037579c Change a debugging message a bit. 2001-06-21 22:05:50 +00:00
thorpej 1ce7119f17 More ISA interrupt rototilling. I get *some* interrupts on a:
we1 at isa0 port 0x300-0x31f iomem 0xcc000-0xcffff irq 10
we1: WD8013WC Ethernet (16-bit)
we1: Ethernet address 00:00:c0:94:f6:72

...but still nothing on the PCIC.
2001-06-21 19:00:18 +00:00
thorpej e0901dc354 Fix whitespace botch. 2001-06-21 18:58:18 +00:00
matt 756d684c5a Rename/enumerate the PTE protection bits to their real purposes. 2001-06-21 18:03:37 +00:00
briggs 9fb64d8fcd Build with and without option NEWPMAP. 2001-06-21 16:30:05 +00:00
briggs 1e9e15b279 Bring back pte.h for non-NEWPMAP builds. 2001-06-21 16:28:51 +00:00
wiz e2eaa3b87a constraint, not contraint. 2001-06-21 12:15:03 +00:00
chris db3f1a4dd5 Update vmparam.h to just have the cats value for KERNEL_VM_SIZE.
As noted by Robert Swindells.
2001-06-21 09:29:39 +00:00
thorpej cc6c89106a Correct the ISA bridge irqmap. 2001-06-21 06:24:23 +00:00
thorpej f341043437 Rototill ISA interrupt code. In particular, I have remembered most
of the horror that is the 8259 PIC.

PCMCIA interrupts still not working yet, but getting closer.
2001-06-21 05:20:54 +00:00
kei bddb038898 explain about macppc litte more. 2001-06-21 05:18:07 +00:00
matt 467c0ed022 Rework pmap_bootstrap. Fix some comments. Add old copyright until i finish
excising that code.
2001-06-21 03:26:12 +00:00
uwe 666d09dcfc Add PROM patches (forth code) as a table indexed with root node name
and prom version.  Little tweaks to prom during secondary boot are
much easier then fragile work-arounds in the kernel.  Currently this
is used for JavaStation 1 with OBP3.
2001-06-21 03:13:05 +00:00
eeh b61ff8de5f Prevent a hang if trying to pmap_protect a page with wired mappings. 2001-06-21 01:17:18 +00:00
eeh 8009aa2033 Allow multiple 4MB pages for both kernel text and kernel data.
Note: DEBUG checks will not allow accesses to the hole between
text and data segments, so you may need to update programs that
use libkvm before relocating the start of kernel data.
2001-06-21 00:24:22 +00:00
eeh ede617e6dc Allow probes to kernel addresses that generate access errors not panic the machine. 2001-06-21 00:10:49 +00:00
eeh bceb1fab42 Be a bit more consistent about returning errors. 2001-06-21 00:08:02 +00:00
chris ca2e4c7c43 remove another reference to ebsa285 missed in the last change 2001-06-20 22:20:42 +00:00
chris 7383fda9e0 Remove defopt EBSA285.
Move the files from footbridge that are cats specific.
Remove EBSA285 kernel as people should be able to use the generic cats kernel for EBSA285 systems.
2001-06-20 22:14:32 +00:00
uch cd62c87986 recompile. 2001-06-20 17:38:59 +00:00
uch 7b262bfecb when there are two or more framebuffer setting, returns best match setting.
and this is for bivideo.
2001-06-20 17:36:00 +00:00
matt f0a0494c33 Allocate mb_map is PMAP_MAP_POOLPAGE is not defined. 2001-06-20 15:25:02 +00:00
nonaka a68ff290b1 Sync reality. 2001-06-20 14:42:39 +00:00
nonaka 79c7d30f6d - Add "siop at pci" and related line.
- Add "options PCI_NETBSD_CONFIGURE".
2001-06-20 14:37:46 +00:00
nonaka 992a1d0be4 Seprate model depended code. (based on arc 'struct platform')
files.prep:
 - add new files entry.

pci_machdep.c:
 - use dev/pci/pciconf.c instead of mine for pci io/mem addr/intr fixup.

cpu.c:
 - separate code

machdep.c:
 - call ident_platform()

mainbus.c:
 - call pci_configure_bus(), if defined PCI_NETBSD_CONFIGURE

ibm_machdep.c:
 - for IBM PReP generic

ibm_6050.c:
 - for IBM Personal Power Series 830/850

ibm_7248.c:
 - for IBM RS6000/43P deppendency
2001-06-20 14:35:23 +00:00
nonaka dccc50da3c ANSI'fy 2001-06-20 14:19:28 +00:00
nonaka 87f63a4997 print elcr reg, if defined DEBUG 2001-06-20 14:11:45 +00:00
leo ad5b48bcb8 Make the compile with diagnostic. 2001-06-20 10:24:22 +00:00
jdolecek 89238be159 Adapt to lance_init() change 2001-06-20 10:10:12 +00:00
uwe 25d726e4eb Attach serial console at com. 2001-06-20 03:13:19 +00:00
briggs 279833d138 Build for kgdb as well as for ddb (mutually exclusive). 2001-06-20 02:40:14 +00:00
toshii 8b8a1cfa73 Define __HAVE_GENERIC_SOFT_INTERRUPTS, and nuke traditional softserial and
softclock.
2001-06-20 02:34:26 +00:00
toshii 9663b23e37 Add IPL_SOFT* interrupt levels.
XXX These's no point in having two copies of intr masks (spl_masks and
XXX imask).  This needs to be fixed.
2001-06-20 02:30:47 +00:00
toshii 9159944a03 Add IPL_SOFT* interrupt levels.
Fix type for softintr handlers.
2001-06-20 02:26:30 +00:00
toshii 352aae04a4 Fix type for softintr handlers. 2001-06-20 02:21:58 +00:00
toshii ccc8a74c00 Map PPC (peripheral pin controller) registers also. 2001-06-20 02:19:55 +00:00
christos b42ac39883 fix processor name 2001-06-20 02:19:36 +00:00
toshii b0f168f8ce GC dead codes. 2001-06-20 02:18:06 +00:00
toshii 681b3193ca Make sacom generic soft interrupts ready. 2001-06-20 02:16:49 +00:00
briggs e870bf36b9 There is no other support for KGDB in this driver yet, so ifdef out the
call to a non-existent (on macppc) zs_check_kgdb() for now.
2001-06-20 02:01:56 +00:00
fvdl e861a00729 X8664 -> X86_64 2001-06-20 01:20:19 +00:00
uch 27e3cda68b add document for developers. 2001-06-19 17:50:39 +00:00
uch 86b75389d1 recompile. 2001-06-19 16:51:43 +00:00
uch 3563b6010c add build number. when 'make uuencode', increment it. 2001-06-19 16:50:05 +00:00
uch a934bba390 set BI_CNUSE_SERIAL flag at SerialConsole constructor. and remove
getBootConsole member from SerialConsole class
2001-06-19 16:48:49 +00:00
sommerfeld f00786e7ab restore fs and gs from sigcontext in sigreturn (correct oversight in
previous commit).
2001-06-19 15:54:48 +00:00
wiz ac951736bc `response', not `responce' 2001-06-19 13:45:52 +00:00
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
enami 4553af4ee5 Add minimal support for vr4122/vrc4173 pci. 2001-06-13 07:32:47 +00:00
lukem 6b358ba879 remove interlan np100 entry as the referenced files don't exist 2001-06-13 06:43:08 +00:00
enami 3df61fa9d9 Generic softintr for hpcmips. 2001-06-13 06:03:10 +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
thorpej 7e59a1be7a No longer need MIPS3_5200 here. 2001-06-12 22:32:50 +00:00
uwe 02293e0ea7 Be prepared to get OpenFirmware client entry in either %o3 (PROM way)
or %o0 (our boot code passes romp in %o0 even for OF machines).
Discussed with pk.
2001-06-12 21:01:26 +00:00
bjh21 ca5de264b4 Change the structure of a bus_space_handle_t in a desperate bid to avoid using
function pointers.  It now contains two base addresses, one for 8-bit
transfers and one for 16-bit transfers.  This should make it possible for me
to handle the Castle EtherSCSI card, which uses and address line to select
transfer width to the i82595.
2001-06-12 20:16:22 +00:00
matt 2b283d77df For arm ports where machine != arm??, descend into the cats,dnard,netwinder
directories and install their include files too.
2001-06-12 18:16:31 +00:00
matt 6506d53f68 Nuke include files which are just <arm/foo.h>. Adjust Makefile accordingly. 2001-06-12 18:03:55 +00:00
matt d4dcda551f Revert back to arm32 (for now). 2001-06-12 18:02:20 +00:00
matt 12635e46a1 The machine is cats, the machine_arch is arm (not arm32). 2001-06-12 17:38:41 +00:00
matt 0aff179f16 Eliminate all files that are just #include <arm.foo.h>. Update Makefile
to refer to cats, not netwinder.
2001-06-12 17:37:35 +00:00
tsubai f1d3ac74a5 Change comment. 2001-06-12 17:36:55 +00:00
tsubai 66c1ffd9be Remove cpu_dumpconf(); it's in powerpc_machdep. 2001-06-12 17:23:13 +00:00
tsubai 713feac239 Include powerpc/mpc6xx/{bat.h,pte.h} if PPC_MPC6XX is defined. 2001-06-12 17:20:50 +00:00
tsubai bee211fc53 Move "file .../bus_dma.c" line to MD place.
Add options PPC_MPC6XX on missed ports.
XXX I think PPC_OEA is better name.
2001-06-12 17:13:34 +00:00
matt fa3621e3be Move netwinder_machdep.c to files.netwinder. Eliminate opt_netwinder.h and
use #ifdef netwinder insead.  XXX ebsa285_machdep.c should move to the cats
directory and files.cats
2001-06-12 17:10:25 +00:00
minoura f8ce82f817 Another steps for ELF.
- register prefix
 - machine/asm.h
 - deprecated -T option for ld(1)
2001-06-12 16:57:27 +00:00
tsubai cbad4436c2 One more. 2001-06-12 16:32:00 +00:00
tsubai 51a013241c Make this compile w/o akbd or ukbd. 2001-06-12 16:29:07 +00:00
wiz 0a600be867 receive, not recieve 2001-06-12 15:17:10 +00:00
wiz 2a8c778f1b retrieve, not retreive 2001-06-12 14:59:27 +00:00
ragge 3bd0afbc54 Make tracing of stack by frame argument work. 2001-06-12 13:22:06 +00:00
ragge 5335780e31 Support to get into DDB from hardclock interrupts by putting a value in
the RPB wait field.
2001-06-12 13:20:29 +00:00
ragge 8f96f4b21c Fix problem where console interrupts never got enabled after RB_ASKNAME. 2001-06-12 13:18:38 +00:00
minoura 55e73f8bc1 I was too careless. Do not throw away the prepared string. :p 2001-06-12 11:29:31 +00:00
ragge 8f68bebb7e Detect 4000/VLC correctly + make halt/reboot work.
From Michael L. Hitch (mhitch@montana.edu).
2001-06-12 11:24:50 +00:00
minoura 5d6ce3b75c Make this compile again. 2001-06-12 10:30:04 +00:00
minoura b1b468a365 Remove unneeded whitespace. 2001-06-12 10:03:04 +00:00
chris be97fea093 Remove Makefile.cats. We now use the arch/arm/conf/Makefile.arm. 2001-06-12 08:33:48 +00:00
chris eb541612a0 Add cats specific makefile for tags and includes. 2001-06-12 08:32:46 +00:00
chris f90999bd42 Cats doesn't need io.h any more as it has it's own conf.c files. 2001-06-12 08:31:53 +00:00
chris a7b8789da8 Add cats specific autoconf and conf.c. Also add defopt NETWINDER to files.cats, this is so a few things that include opt_netwinder compile. 2001-06-12 08:30:47 +00:00
chris 8c53bc98ee comment out MEMORY_DISK_HOOKS, currently cats can only use an in-kernel memory disk. 2001-06-12 08:27:08 +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
thorpej ba52d7a5d0 Always indirect through the "locoresw" to get the cache ops, since
there are just far too many combinations to handle with magic
#ifdefs in any sane way.  Also, add a HitFlushDCache op to the
"locoresw", and fill it in as appropriate (it's NULL on MIPS-I,
so watch out).

These changes ensure that my R4600 Indy (with 2-way cache) gets
the correct cache ops when the kernel is built with only MIPS3
support, resulting in a kernel that is significantly more stable.
2001-06-11 23:52:38 +00:00
perry df452bb9b8 clean up some comments, per a request from sommerfeld 2001-06-11 22:56:26 +00:00
chris 1825c7b68a Move defopt FOOTBRIDGE to where it really should be in files.footbridge, which is where I should have left it. 2001-06-11 22:25:09 +00:00
chris ed72dec945 Remove locore dependancy on opt_netwinder and use the netwinder define from the command line. 2001-06-11 22:08:42 +00:00
fredette 8d1b187a4c Fixed pte_print to display the correct names
for VME device pages.
2001-06-11 21:35:59 +00:00
fredette 6e5f704918 Now use hand-defined macros instead of relying
on structure layout to find registers.  Added
a VME attachment.
2001-06-11 21:33:47 +00:00
sommerfeld 0463a8a3d7 Replace magic numbers in trap code with offsetof()
Deal better with traps during register restore.
Explain a bit more about what's going on here.
2001-06-11 20:04:02 +00:00
bjh21 bd73477f94 Parentheses around definition of PODULE_GAP. 2001-06-11 19:07:14 +00:00
matt 95be56d2e1 Only include dependency on include-dirs if the include directory doesn't
exist.
2001-06-11 17:50:34 +00:00
matt ba4b09844f Use command Makefile.arm. Move non-std LOADADDRESS to std.netwinder. Add
netwinder-specific inclusion Makefile.
2001-06-11 17:46:23 +00:00
matt d87a9f23c3 Add common Makefile for arm ports. Only include (for now) machine/io.h
if arm32 is defined.  io.h is RISCPC specific and isn't needed for other
ports.
2001-06-11 17:44:38 +00:00
rearnsha 3d85ba9ab2 include-dir: A relative 'S' is up 4-levels. 2001-06-11 13:49:28 +00:00
rearnsha afd5ba073b Defopt FOOTBRIDGE. 2001-06-11 13:48:28 +00:00
pk c522c18479 Use NFB from "fb.h" to include console framebuffer support. 2001-06-11 13:34:51 +00:00
rearnsha bf3fad1043 Split consinit functionality out of machdep.c into platform-specific
files.  G/c include files for machdep.c

Only include dev/cninit.c in ofw-based kernels.
2001-06-11 11:56:57 +00:00
scw 712d37e53b G/C an unused parameter to isrdispatch_vectored(). 2001-06-11 11:26:42 +00:00
scw 9b0b23c664 Stack adjustment for autovectored interrupts wasn't quite right... 2001-06-11 11:24:40 +00:00
rearnsha b20634eca1 Footbridge files have moved from arm32 to arm sub-tree. 2001-06-11 10:51:09 +00:00
enami 43b992855b Comment about start address of LED unit in vr4122. 2001-06-11 10:04:27 +00:00
sato a2c4938b03 not set HPCFB_SWAP_BYTE 2001-06-11 09:36:44 +00:00
sato c1922a2158 not set HPCFB_SWAP_BYTE. 2001-06-11 09:21:15 +00:00
enami 1c426d533e make GENERIC compile again. 2001-06-11 06:11:01 +00:00
enami 48a9b87617 Move some struct definition into header file. 2001-06-11 06:04:55 +00:00
enami 79524e25e0 - add comment about start address of PMU in vr4122.
- wrap long line.
- add regsiter offset found in PMU of vr4122.
2001-06-11 06:02:21 +00:00
enami d011344fca Cosmetic changes; lineup some struct members. 2001-06-11 05:56:21 +00:00
enami 1898d1dcc6 - make this file compile even if either hpcfb or vrkiu isn't included.
- introduce new cpp symbol VR_FIND_DRAMLIM not to probe dram beyound this.
  for example, MP-C303 hangs hard if memoy beyond 0x03800000 is probed.
2001-06-11 05:52:21 +00:00
enami f81775f030 Cosmetic changes. 2001-06-11 05:24:06 +00:00
enami 2bcc128c2b Print space after colon. 2001-06-11 05:22:10 +00:00
enami 3dabdff631 Cosmetic changes:
- Use tab instead of many spaces
- options<SPC><TAB>
2001-06-11 05:17:45 +00:00
chs 49ba960b09 make this compile with DEBUG. 2001-06-11 04:58:33 +00:00
wiz 40ac848024 Fix various misspellings of compatible/compatibility. 2001-06-11 01:50:48 +00:00
ragge 83e47d5e8d Revision line #1 broke, fixed. 2001-06-10 20:47:49 +00:00
ragge b47f638d85 Check in work done by bjc@openbsd.org, OpenBSD revs 1.4 and 1.5 of the
same file. No other changes, OpenBSD log messages below.

> More EMODD work:
>         - Using CVTDL and subtracting to seperate integer from fraction does
>           not work if the integer is >32 bits long; instead, rearrange the bits
>           into a quadword, use ASHQ to truncate, and then subtract.
>
> Also:
>         - Set the condition codes properly; this fixes the other problem with
>           >32-bit-integer parts in libm by letting modf subtract the fractional
>           part (which *is* a double) to get the integral part in a double.

>         - move the zero checks earlier in the routine
>
>         - instead of 'ret' in zeroexit, use brw goback

> Switch a "BGTR foo" to a "BLSS bar; BRW foo; bar:".  In this case, the
> difference between the BGTR and foo: is too large for a byte displacement.
> as should give an error or at least a warning here, but it doesn't;
> instead it merrily outputs a completely bogus displacement.
> This fixes problems with EMODD on numbers with negative exponents.
>
2001-06-10 20:46:18 +00:00
msaitoh e29b0f085f .type xxx,@function isn't supported under COFF 2001-06-10 19:06:26 +00:00
scw 179dd3e579 sigh. It also helps to switch back to .text ... 2001-06-10 17:31:38 +00:00
sommerfeld b55c21bb0d Copy in segment descriptors all at once rather than one at a time. 2001-06-10 17:30:41 +00:00
tsubai 8561123ccf -Wreturn-type is included in -Wall. 2001-06-10 17:05:11 +00:00
scw 08fb0e543b Pick the right bit to check... 2001-06-10 17:03:01 +00:00
scw 8aad61265b On 162 and up, get the CPU speed from the firmware and only fall back
to calculating it on the fly if the firmware's value is bogus.

This fixes problems caused by rounding errors on some board/speed
combinations.
2001-06-10 16:48:19 +00:00
scw aab2376d45 Refuse to boot on 162/172 and 167/177 if the user has not removed
the jumper which tells 1xx-Bug where to locate its scratch data.

Instead, print a message informing the user to RTFM (which needs to
be updated to include this info. ;-)
2001-06-10 16:45:52 +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 7f2d136a9a Remove options NMBCLUSTERS=1024 -- it's default now. 2001-06-10 15:41:13 +00:00
tsubai b736ff678e Use machine/bat.h rather than powerpc/mpc6xx/bat.h. 2001-06-10 15:32:57 +00:00
tsubai afa0c16167 include powerpc/mpc6xx/bat.h. 2001-06-10 15:24:57 +00:00
tsubai bedfcf904c libkern.h is included in systm.h. Not needed here. 2001-06-10 15:05:44 +00:00
scw 89546c98a1 Enable DHCP and BOOTP as supported diskless NFS boot options. 2001-06-10 14:40:47 +00:00
scw 967e648941 Use the versions of dev_net.[ch] in libsa in order to get DHCP support.
In other words, mvme68k's "netboot" finally supports DHCP.
2001-06-10 14:12:48 +00:00
tsubai 8b0b4ecd3f Forgot to commit this; s/offb/ofb/. 2001-06-10 13:56:13 +00:00
scw ea5249214a Add rnd(4) pseudo-device. 2001-06-10 13:16:07 +00:00
sato 9d87ee4b59 add MC-R700, 730 touch panel parameter 2001-06-10 12:37:43 +00:00
tsubai 4911bdc582 Use ofb_softc again. 2001-06-10 11:38:21 +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 6650a1901e Use the new pmap to compile again (sorry). 2001-06-10 11:07:36 +00:00
tsubai fafb5d4bc3 Make the new pmap optional. Use the old (stable!) pmap by default. 2001-06-10 11:01:26 +00:00
mrg 53e9189ae7 oops; non-primary cpus should still spin, not jump to idle. 2001-06-10 10:50:20 +00:00
tsubai 27c2892f13 Enable color! call in ofb_putcmap again.
Matt, please don't remove codes silently without confirmation.
(At least, leave a log message!)
2001-06-10 10:34:27 +00:00
thorpej be7629b7e0 Hand off intr evcnt responsiblity in a reasonable way on the 5064. 2001-06-10 09:28:26 +00:00
thorpej 7c074dc806 Check in work-in-progress of generic ISA interrupt support. The
goal here is to get the P-5064 PCMCIA slots working, and serve as
the basis for P-6032 interrupt support.

PCMCIA interrupt auto-detection not working -- more work to be
done here.
2001-06-10 09:13:06 +00:00
thorpej 82418a77b0 Add PCMCIA devices. 2001-06-10 08:45:09 +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
thorpej 1930cfd7dc Correct for a data structure change. 2001-06-10 06:17:15 +00:00
thorpej ce66bf0803 Rewrite the interrupt handling code:
- Compute the number of CPU pipeline cycles per second using the
  mc146818.
- Use the COMPARE interrupt for the hardclock interrupt.
- Collapse all interrupt priorities into a single priority, and use
  the CPU interrupt inputs to determine the interrupt source (local
  device, PCI device, ISA device, etc.)

This allows us to have interrupt sharing.
2001-06-10 05:26:58 +00:00
thorpej 0e82abb5de Add MIPS3_5200. 2001-06-10 05:02:33 +00:00
briggs b1db1fba38 Adapt to new PowerPC pmap.
Use more common PowerPC code including bus_dma and unified bus_space.
2001-06-10 03:16:29 +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
bjh21 ce17af0c82 Very crude changes to ensure we never call malloc passing M_WAITOK from
pmap_enter.  Instead, we panic if allocation fails.  This is bad, and should
be reworked.
2001-06-09 12:22:11 +00:00
chris b0a79f686c Typo police: 28285 -> 21285
Also garbage collect the old kernel VM map defines for footbridge.
2001-06-09 10:44:10 +00:00
chris 4c30449347 Remove the old kernel config files for cats, also remove isa_cats_machdep, as
it now lives in cats/isa/isa_machdep.c
2001-06-09 10:35:55 +00:00
chris af8ce95972 Move the footbridge dir out of arm32 into arm. 2001-06-09 10:29:11 +00:00
matt 3cad96a936 Move towards common Makefile.arm
Add a netwinder/autoconf.c
2001-06-09 05:38:23 +00:00
matt e27941e917 Eliminate some unavailable devices on netwinder. 2001-06-09 05:36:28 +00:00
bjh21 bfddba9825 Separate podule and netslot cases in poduleread() into separate functions,
with the correct one referenced by a pointer in the podule structure.  This is
in aid of eventually making the netslot and podulebus code a little more
separate from one another.
2001-06-08 22:38:07 +00:00
chris 9e26feedf2 Finish off the cats arch dir by creating an include dir and populating it from
arm32/include.
Make use of std.cats in the kernel config.

Fixup files.cats so it actually works.
2001-06-08 22:22:59 +00:00
bjh21 ca2047f7c6 Adapt the dtide driver to the MI podulebus framework, and move it to its new
home.  It still doesn't actually work, but that's a SMOP.
2001-06-08 20:13:24 +00:00
fredette cca6e28421 Added comments and fixed some macros now that I correctly
understand how to address the sun2 VME bus in the VM hardware.
2001-06-08 18:00:51 +00:00
mrg 1375a0c31e don't run SMP flush routines if (cold); be sure cpus[n] is valid. 2001-06-08 16:25:04 +00:00
mrg 72c1d9df6d more SMP work: finish up ipi's, SMP DDB support, cpu startup issues, and
idle() u area issues:

in nmi_sun4m(), if this is a soft NMI and DDB is configured, setup a trapframe
and pass it to nmi_soft().  in cpu_hatch(), spin until our cpu's flags no longer
have CPUFLG_STARTUP set.  then, setup registers and jump to
idle_enter_no_schedlock.  in idle(), if MULTIPROCESSOR, always switch to this
cpus idle u.  a minor optimisation to cpu_switch().
2001-06-08 16:15:23 +00:00
thorpej 37c37861b9 Make sure to always re-sync the rx buffer dmamap if recycling the
rx buffer.
2001-06-08 14:32:05 +00:00
mrg aa2443e7c8 if DDB, when pausing, save a copy of this cpus registers while paused. 2001-06-08 09:51:40 +00:00
mrg 67fc8c19be if MULTIPROCESSOR, make the registers virtual, so that we can access other
processors registers.  rework enter/exit ddb code to look more like the i386
code.  make "mach cpu" and "mach cpu N" work.
2001-06-08 09:49:28 +00:00
mrg 7666800896 need a per-cpu ddb_regs pointer. 2001-06-08 09:45:50 +00:00
mrg 1ae283fcdd use raise_ipi_wait_and_unlock(). 2001-06-08 09:40:31 +00:00
matt e3b20fd18d options PROG32 for now. 2001-06-08 06:16:09 +00:00
matt 85656841a3 Change _ARM32* to _NETWINDER* Include <machine/psl.h> to get psl
definitions.
2001-06-08 06:14:25 +00:00
matt 1f4156858b add an include subdir rule in the Makefile to make netwinder use the
"new" include file structure to be used on arm ports.
2001-06-08 06:13:02 +00:00
matt 7c77092fcf Change options<tab> to options<space> 2001-06-08 06:10:40 +00:00
chs 68e8e6ff9c make this compile again. 2001-06-08 05:43:00 +00:00
mrg 7bb4cfc2db split {sunos,svr4}_sigcode out for LKMs 2001-06-08 04:49:45 +00:00
simonb e5bd00e48d For ports that wire up pciide in compatibility mode, have
them define __HAVE_PCIIDE_MACHDEP_COMPAT_INTR_ESTABLISH
in pci_machdep.h and pciide_map_compat_intr() only calls
pciide_machdep_compat_intr_establish() if that preprocessor
define exists.

Ports that don't need to do this no longer need to supply a
dummy function.
2001-06-08 04:48:54 +00:00
mrg 9a3de71872 add CPUINFO_FLAGS 2001-06-08 04:21:41 +00:00
uwe 9634e929d1 Oops, missed in the previous commit: bump PIL_SER to 13 as well.
It seems to be unused...
2001-06-08 01:33:32 +00:00
matt d2f0c68d47 Make macppc compile by default with -Wall -Wmissing-prototype in addition
to its currently enabled warnings.  For the lack of a better place, most
global function prototype wound up in <machine/autoconf.h> unless there
was a better place for them.  ofb_* structs renamed to offb_* to avoid
conflict with ofb_softc in <dev/ofw/openfirm.h>
2001-06-08 00:32:01 +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
rafal a8bb9b127a All soft interrupts are currently handled by soft interrupt 1, so make
all splsoftxxx() calls block soft interrupt 1 and make spllowersoftclock()
re-enable soft interrupt 1.

XXX: This needs to be reworked so that spllowersoftclock() only turns on
softclock interrupts, not all soft interrupt.  That change is coming soon.
2001-06-08 00:09:28 +00:00
rafal 86d8f950ef Fix initial interrupt mask settings for `hard' interupts to mask out soft
interrupts as well.  The system is quite stable now that soft interrupts
don't pop up at random places where they're unexpected 8-)

Also, while here, fix CPU clock speed calculation for the Indy.
2001-06-08 00:02:41 +00:00
thorpej 0859a7601d - Differentiate beteen the 8003 and 80c03 (the 80c03 has some additional
features).
- Implement crude multicast support -- enable reception of all multicast
  frames if we have any addresses on the multicast list.  TODO: use the
  64-bit hash table on the 80c03.
- Implement promiscuous mode.

IPv6 doesn't quite work yet -- DAD finds a duplicate for the
link-local.  The 8003 hears its own transmissions, but IFF_SIMPLEX
is not set, so I'm a little confused.
2001-06-07 23:05:51 +00:00
chris 4e6f32c9d7 Fix the broken stray irq handling for footbridge, this needs to be
propegated to other arm32 irq handlers, until there's a common core part
for doing irq handling.

Untested as I've no cards that generate stray irq's.
2001-06-07 21:47:36 +00:00
chris 75d8b9d463 Checkin fix to ARM7TDMI support. As per patch from John Fremlin to
port-arm32.
2001-06-07 21:07:22 +00:00
thorpej b4e0748bf3 Don't use PCLK as the baud rate generator, as the Indy doens't
like that, and it has no effect on the Indigo2.
From Christopher SEKIYA <wileyc@rezrov.net>.

Also, query the "ConsoleOut" ARCS variable (i.e. "what the console
really is") rather than "console" ("what the console is configured
as").
2001-06-07 19:23:03 +00:00
mrg d3b1cc167d more SMP work:
make IPI's work.  modify boot_secondary_processors() to clear the startup flag
in each cpu.  new raise_ipi_wait_and_unlock() that calls raise_ipi(), waits
for the cpu to acknowledge it got the message, and then unlocks the msglock.
use the new framework in mp_{pause,resume}_cpus().  nmi_soft() takes a
`struct trapframe *', to be used by ddb.
2001-06-07 17:59:47 +00:00
mrg ba991d978b move ev_out32() here. 2001-06-07 17:54:35 +00:00
mrg 51b7188429 make lkm friendly. 2001-06-07 17:49:51 +00:00
briggs 5d512c674c GENERIC + memory disk hooks. 2001-06-07 17:08:13 +00:00
briggs af0929e6ce Enable a few more devices (adw, dpt, siop, sip, sd). Do not compile DEBUG. 2001-06-07 17:05:11 +00:00
mrg 6246dceb77 print p_pid & p_comm for alignment errors. 2001-06-07 15:31:16 +00:00
thorpej a7df60e8e9 Pass -N to the linker, so that it will generate a single PT_LOAD
section (a'la OMAGIC).
2001-06-07 15:26:31 +00:00
rafal a1830df1bb Fix a deadlock in the tx code -- the code checked the DMA status before
sync'ing the descriptor, leading to a race where the packet could complete
after the DMA check but before the sync of the descriptor, sending the code
into unknown territory and the DMA engine into space.  Also, fix a bug with
spurious watchdog resets going off due to the if_timer not always being set
on transmit.

Finally, clean up use of hardcoded magic numbers, get them from hpcreg.h
when possible.
2001-06-07 12:20:42 +00:00