Commit Graph

27521 Commits

Author SHA1 Message Date
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
rafal 63f856cb2e Add a bunch of defines for bits withing the ethernet-related registers so
the Seeq driver can use them instead of hardcoded constants.
2001-06-07 12:10:34 +00:00
leo 3aa99cbeac We really need a wsdisplay on the Milan. 2001-06-07 08:41:11 +00:00
leo e371e8a5ae Try to search for an isa bus during console configuration too... Otherwise,
we miss the console keyboard on the Milan.
2001-06-07 08:35:29 +00:00
leo 3700ec551e The newly generated config files. 2001-06-07 08:01:19 +00:00
leo d355dc319f Oops, we don't want 'MILAN' anymore.... 2001-06-07 08:00:24 +00:00
leo 3bc0965e01 Everything you always wanted to know about Atari,Milan,IDE and byteswaps...
The Milan configuration is split up in 2 parts:
   - MILAN_ISAIDE
   	Supports the traditionally formatted IDE disks on the Milan
   - MILAN_PCIIDE
   	Supports the byte swapped formatted IDE disks on the Milan

If you want to read more, checkout the comment in MILAN.in...
2001-06-07 07:56:57 +00:00
leo 92a2e67c31 Remove the atari specific incarnation of wdc_isa.c. We don't need it (in
fact it didn't work that well either), all could be done by simply adding the
NOSTREAM options to the flags of the generic ISA frontend.
There was probably to much byteswapping in my brain when I invented this.
2001-06-07 07:23:02 +00:00
chs 762bab2606 implement pmap_clear_modify() correctly. 2001-06-07 05:29:13 +00:00
lukem 178aeb74a0 work around lint issue (inspired by similar work in sparc port) 2001-06-07 04:44:05 +00:00
lukem 5429ee5e02 add iha(4); it works in my pc164 after thorpej fixed a minor issue 2001-06-07 03:51:53 +00:00
toshii d69d2974a4 Sprinkle some volatile keywords around inline asm so that the optimizer
doesn't reorder critical section codes.
2001-06-07 02:38:59 +00:00
mrg 9b27fa3ff8 set the coredump32 hook. make LKM friendly. 2001-06-06 21:39:50 +00:00
mrg 059d4936ab extract the netbsd32, sunos, 32 bit svr4 and 64 bit svr4 sigcode out into
separate files, so that compat lkms can link with them as well.
2001-06-06 21:19:48 +00:00
mrg ea39a5c3b4 make a NETBSD32 stack check LKM friendly. 2001-06-06 21:06:52 +00:00
matt 695e5e7ab5 Changes new pmap, common param.h, vmparam.h, and moved includes. 2001-06-06 17:50:14 +00:00
matt f294982771 Enable tlp for 21x4x chips. 2001-06-06 17:47:54 +00:00
matt daf8279e4b Change bebox port to use the include MPC6XX files and the new common bus.h
framework.
2001-06-06 17:42:29 +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
uwe 92359cee67 Bump splserial to 13 to support com port on Tadpole and JavaStations.
While I'm here - remove redefinition of PIL_TTY, move splnet
definition to keep the list sorted and sync its comment with reality.
2001-06-06 13:45:18 +00:00
chs ec218acedd make this compile without MULTIPROCESSOR. 2001-06-06 06:29:36 +00:00
chs 8688ff47c8 make this compile without DEBUG. 2001-06-06 06:23:13 +00:00
uch 2f94a06e98 HD64461 frame buffer is big-endian. set HPCFB_SWAP_BYTE. 2001-06-05 17:24:48 +00:00
mrg 5d3a461f45 use _KERNEL_OPT 2001-06-05 14:43:04 +00:00
ragge 32874c14c8 Detect MicroVAX 3100/m80 correctly. From Michael Kukat. 2001-06-05 11:25:11 +00:00
bjh21 95fe4db7e3 Replace arm/arm32/db_trace.c and arm26/arm26/db_trace.c with a unified version
in arm/arm.  This version is based on the arm26 version, and includes dumping
the contents of stack frames, with automatic determination of the save code
pointer offset.
2001-06-05 09:25:05 +00:00
bjh21 261bd8f8ac Add get_pc_str_offset(), which returns the offset between the address of an
instruction that stores the program counter and the value of PC that's stored.
This can vary between ARM implementations, but is guaranteed to be constant on
a given one.
2001-06-05 09:19:32 +00:00
thorpej eadf88cc61 (locally defined) HZ -> hz 2001-06-05 05:20:20 +00:00
thorpej 5523a584c5 HZ -> hz 2001-06-05 05:12:18 +00:00
thorpej ec291b503a Allow the text address to be set with makeoptions. 2001-06-05 05:05:46 +00:00
thorpej 95eaadac34 Use symbolic names for the CTB terminal type field, rather than
hard-coded constants.
2001-06-05 04:53:11 +00:00
ragge f81f19e7b3 Add rudimentary multiprocessor support for DDB. 2001-06-04 21:37:11 +00:00
mrg 46762d3560 fix lint exposed by GCC 3.0 20010604 (prerelease). 2001-06-04 20:56:51 +00:00
uch 842b6023c3 HD64461 video module. 2001-06-04 17:08:36 +00:00
ragge 93ece82137 Check for console printf's in spinlocks, per discussion on tech-smp. 2001-06-04 15:37:05 +00:00
ragge 30e020fbaa The beginning of pmap locks. While here, some cleaning and KNF. 2001-06-04 15:36:00 +00:00
ragge 81d993ac3b Add splipi(). 2001-06-04 15:34:57 +00:00
ragge da2e5c43e1 Add IPI_TBIA to flush the translation buffer. 2001-06-04 15:34:15 +00:00
ragge d35f5e00dc Move some locks closer to the important point. 2001-06-04 15:33:07 +00:00
chris 878db7cfb8 Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
Shouldn't effect any currently in tree ports.
2001-06-03 18:32:33 +00:00
ragge e2f864bf95 Break out the MP-dependent calls. Add definitions for the IPI functions. 2001-06-03 15:12:57 +00:00
ragge d0a8785b5e Add define for IPI vector. 2001-06-03 15:10:34 +00:00
ragge 8d7b76581f Implement spinlocks as subroutines instead of inlines.
Add SPINLOCK_SPIN_HOOK; the VAX has low-priority IPIs like Alpha.
2001-06-03 15:10:11 +00:00
ragge 6e219aa5a7 Add bbssi/bbcci (bit set/clear and branch interlocked) as inline functions. 2001-06-03 15:08:32 +00:00
ragge 1da9a91480 A bunch of fixes:
- Make generic console routines not relying on running on master cpu.
- Add routine to start console transmitter (after IPI).
- Use real IPIs instead of the "console doorbell".
- Add routines cpu_send_ipi()/cpu_handle_ipi().
2001-06-03 15:07:20 +00:00
tsutsui ad811093a3 Add iha at pci . 2001-06-03 13:46:57 +00:00
bjh21 e1fdb3abbf Rather than duplicating the LDM/STM/LDC/STC fixup code between
early_abort_fixup() and late_abort_fixup(), have the latter tail-call the
former.  This saves another 200 bytes, and I've found my ARM710a card now, so
I've even tested it.
2001-06-03 13:38:14 +00:00
tsutsui c9d2bd8419 Sort some entries. 2001-06-03 13:21:28 +00:00
mrg 28bd948dba finish moving context management back to being global. add a new ctx_lock
for context administration.
2001-06-03 04:03:28 +00:00
chs 88905c8ca1 clear and restore pcb_onfault around calling uvm_fault(),
so that bugs in the fault-handling code will panic sooner.
2001-06-03 03:12:31 +00:00