Commit Graph

27339 Commits

Author SHA1 Message Date
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
thorpej f0f999ee47 Skip the pseudo-header checksum if nxt == 0. 2001-06-03 01:37:28 +00:00
bjh21 6a32761143 Now that cpu_dataabt_fixup() can fail, print slightly more useful information
(address and disassembly of the instruction that aborted) when it does so.
2001-06-02 22:48:40 +00:00
bjh21 3c88c46567 In {early,late}_abort_fixup(), return ABORT_FIXUP_FAILED, rather than
panic'ing, if we hit an instruction we can't fix up.  This saves 250-odd bytes
of code, and should allow the caller to print a more useful message.
2001-06-02 22:30:07 +00:00
bjh21 f594a52dae late_abort_fixup: Get the indentation right! 2001-06-02 22:08:11 +00:00
bjh21 0c870e10e0 Convert bus_space_{read,write}_multi_1() into macros, since they're just
wrappers round {read,write}_multi_1() anyway.
2001-06-02 21:31:02 +00:00
bjh21 54a986d7fc Replace arm6_dataabt_fixup() and arm7_dataabt_fixup() with early_abort_fixup()
and late_abort_fixup(), based on the abort model in use, rather than the CPU
type.  This cleans up the code and makes it smaller.  Only tested on an
ARM6 -- I can't find my ARM710a card right now.
2001-06-02 21:03:32 +00:00
bjh21 7089595665 Initial cpufunc operations for ARM3. Not actually used yet. 2001-06-02 19:01:03 +00:00
chs 821ec03ed9 replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
matthias 0319a3d7bf Add a missing line from i386/i386/pmap.c to make this work again. 2001-06-02 16:47:17 +00:00
jdolecek 4db9600c94 use hd0a instead sd0a in 'help' command example 2001-06-02 14:56:13 +00:00
matthias af667cdd42 The io offsets in arm32/isa/timerreg.h included the IO_TIMER1 offset.
With dev/ic/i8253reg.h this is not the case.
Add IO_TIMER1 to all offsets used in inb and outb. This fixes port-arm32/13009.
2001-06-02 12:51:28 +00:00
bjh21 68035f55f1 In DEBUG kernels, catch page faults in interrupt handlers early. 2001-06-02 11:17:32 +00:00
bjh21 c81d426dcf Save R14 (in a proper stack frame) around {read,write}_multi_1, since page
faults can corrupt it on arm26.
2001-06-02 11:15:56 +00:00
bjh21 447793851c Add hcsc to every configuration that has SCSI podules. 2001-06-02 10:48:54 +00:00
bjh21 972ef526d2 Add hcsc, scsibus and some SCSI devices.
Also, add some useful compiler options to FOURMEG.
2001-06-02 10:47:55 +00:00
bjh21 2d35661e6a Use write_munti_1() to implement bus_space_write_multi_1(). 2001-06-02 10:45:43 +00:00
bjh21 ac0d39dfe8 Add write_multi_1(). 2001-06-02 10:44:56 +00:00
bjh21 3df8e425e7 Correct permissions on vmapbuf'ed pages. A read from a device is a write to
memory, and vice versa.
2001-06-02 10:44:02 +00:00
jdolecek 40033835d8 Comment DIAGNOSTIC, DEBUG out
Use the 'root on ? type ?' config by default, leave the nfs one commented out,
add line for root on ed0a
2001-06-02 10:37:27 +00:00
chs 9bde6cff5c remove bogus curly braces from a structure forward-declaration. 2001-06-02 01:19:29 +00:00
jdolecek f6af05f407 Back the last revision off, upon Bill Sommerfeld's request 2001-06-02 00:46:00 +00:00
jdolecek 5dbe622e77 When polling, raise priority level to tty, to block keyboard interrupts
when the system is "warm", i.e. interrupts are not blocked anymore.
This seems to be necessary on my PS/2 Model 70 keyboard - without this,
system ends up in endless loop calling the keyboard intr routine if a key
is pressed when polling. This _may_ be just specific to level-triggered
interrupts PS/2 MCA uses, though it's more likely it's just the way the
particular keyboard controller works.

Discussed on tech-kern@.
2001-06-02 00:01:04 +00:00
jdolecek b001ce9b90 g/c COMPAT_OLDBOOT from bootblocks, sprinkle some const
bump bootblock version to 2.10
2001-06-01 23:26:30 +00:00
thorpej 7e716e6849 Memory map and register definitions for the Algorithmics BONITO
MIPS memory and PCI controller.  This file is provided by Algorithmics.
2001-06-01 20:29:33 +00:00
thorpej 2b5df8b7ff vm_page_t -> struct vm_page * 2001-06-01 19:52:54 +00:00
itojun 5fbaedc40d sync with GENERIC 1.405 2001-06-01 16:50:31 +00:00
thorpej 71cb790fb5 Add support for the Algorithmics P-4032 board. This is totally
untested, since I have no P-4032 board, but it's no worse than
the current situation, which is "totally non-working P-4032
support in the ARC port, of all places".
2001-06-01 16:00:03 +00:00
thorpej 23a3dc1508 If a bus doens't want to use an extent, don't force it to. 2001-06-01 15:57:31 +00:00
thorpej 356699e86b Fat-trimming. 2001-06-01 15:30:11 +00:00
thorpej c702830c42 The P-4032 has no ISA bridge/bus, so remove all P-4032 conditionals. 2001-06-01 15:20:06 +00:00
toshii 07187f8a43 Nuke FRAMEBUF_HW_BASE. This value is provided by the bootloader. 2001-06-01 14:08:35 +00:00
toshii 6349d0ae81 Nuke FRAMEBUF_{HW_,}BASE. This hack does no good. 2001-06-01 14:06:43 +00:00
toshii ea77ec5725 Move some low-level code (SVC mode switching and PID address translation
disabling) which was written using inlined asm in initarm() to just after
the kernel entry point.
2001-06-01 14:04:29 +00:00
scw 78aad8f79e Mark evcnt(9) item as done. 2001-06-01 08:31:07 +00:00
simonb 37326d639b Rename assembly files that are pre-processed by cpp to use an S suffix. 2001-06-01 04:20:04 +00:00
thorpej 9f159a8918 Remove 4096-byte gap between .reginfo and .data, suggested by
Ian Taylor <ian@zembu.com>.
2001-06-01 03:55:30 +00:00
thorpej f4f6c1dd1c Enable SCSI. 2001-06-01 03:53:29 +00:00
toshii 76b3b49bb8 Add support for jornada720's framebuffer.
The functionality is almost same as bivideo, and hardware rasops and
power saving are not yet supported.
2001-06-01 02:51:03 +00:00
soda f57a0847d2 fix off by one error. extra one page is needed for the case where
buffer is not page aligned (e.g. raw i/o case).
2001-05-31 20:56:29 +00:00
soda 9bac50748f "opt_ddb.h" should be included at the beginning of source file,
because some headers (in this case <systm.h>) refers symbols (e.g. DDB)
defined in the opt_ddb.h
2001-05-31 19:41:57 +00:00
scw 59ba4788ce Deprecate intrcnt/intrnames in favour of the generic evcnt(9) interface. 2001-05-31 18:46:07 +00:00
tsubai 1a891f65d4 One more gcc-2.95 issue. 2001-05-31 09:19:25 +00:00
mrg 283e406cb0 drop to prom on "halt" as well. 2001-05-31 08:55:19 +00:00
enami da8f8f1e72 define _KERNEL_OPT as well as _KERNEL. we will use this in the future to
get kernel "opt_foo.h" headers, rather than _KERNEL && !_LKM.
2001-05-31 07:37:01 +00:00
nisimura 1f4f9ae5c2 Fix minor typos. 2001-05-31 07:24:23 +00:00
enami f998b62e15 Fix commnet; hpcmips isn't x86 architecture. 2001-05-31 02:30:04 +00:00
enami 299159546d s/Alpha/MIPS/ in comment. 2001-05-31 02:20:55 +00:00
nisimura c227148511 PRiD 0x18 is shared by RC32334, 332 and 355. These SoCs are
distinguished by SYSID register in the system controller.  Note
that PRiD 0x20 is for a standalone RC32364 processor which has the
same 32300 core inside.  Rather better to name them MIPS32 ISA.
2001-05-31 02:06:26 +00:00
tsubai ba87a6d444 Add gcc-2.95 version. 2001-05-30 20:37:48 +00:00
lukem d84d2c6c85 add missing #include "opt_kgdb.h" 2001-05-30 15:24:23 +00:00
toshii e2c5f5866f Use sys/arch/arm/arm/blockio.S.
Actually, these functions aren't used by hpcarm but is necessary to be
able to link sys/arch/arm/mainbus thing.
2001-05-30 14:39:19 +00:00
leo 49927dd845 Add itepoll() prototype as suggested by 'maximum entropy' (pr#13047). 2001-05-30 14:25:07 +00:00
tsubai 2eae10adb5 Inline bswap{16,32} when the argument is constant. 2001-05-30 13:08:34 +00:00
soren 72943f1165 Pasto. 2001-05-30 12:52:06 +00:00
mrg 67afbd6270 use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
nisimura f32430d518 Add a case clause for IDT RC32332/RC32334 processor personality
inside a commented-out block.
2001-05-30 09:06:28 +00:00
nisimura 16a60efd2c Add PRiD 0x18 for IDT RC32332/RC32334 processors. 2001-05-30 07:21:51 +00:00
bjh21 2d632efc89 Start using the blockio functions. This makes raw reads from hcsc 20% faster
(is that all?).
2001-05-30 00:19:43 +00:00
bjh21 f15491e9d3 Move the declarations of blockio.S functions from katelib.h to a new, exciting
<arm/blockio.h>.  katelib.h includes it for compatibility.
2001-05-30 00:16:36 +00:00
bjh21 d51c27dfa8 Add read_multi_1() which does what it says fairly fast. 2001-05-30 00:14:09 +00:00
chs 966a1b86f8 initialize the b_dep field in malloc()'d buffers. fixes PR 13065. 2001-05-29 23:08:06 +00:00
bjh21 7d9a4dbad7 Move blockio.S from sys/arch/arm32/arm32 to sys/arch/arm/arm, since I want to
start using it on arm26.

hpcarm gets to keep its own version, since it's not identical and I haven't
got an hpcarm box to test.
2001-05-29 23:03:20 +00:00
ragge d674a69f7a And now we're running! 2001-05-29 21:55:00 +00:00
ragge 2de1ab0486 Add ci_cpuid.
Change the CLKF_ macros because the idle loop is now running at IPL1.
2001-05-29 21:29:32 +00:00
ragge 3b4d7a2948 Must lock kernel when softclock is called from outside hardclock. 2001-05-29 21:28:14 +00:00
ragge 1cf7a84a88 Add a bunch of locking code for MP systems. 2001-05-29 21:27:25 +00:00
ragge c20a10d57d Call proc_trampoline_mp() after fork in multiprocessor environment. 2001-05-29 21:26:44 +00:00
ragge 6492868388 Change Swtch so that the old process context is stored directly and the
idle loop is on the interrupt stack instead of the last running process'
stack. This is needed to work in a multiprocessor environment.
2001-05-29 21:25:11 +00:00
thorpej f0c1fb1bb2 Initialize DDB at boot time and break into it if the "d" argument
is specified to the kernel.

XXX PMON doen't load symbols for us -- need a dbsym(1) for ELF.
2001-05-29 18:40:25 +00:00
thorpej 5331656107 The QED RM7000 can use the same idle routine as the QED RM52xx. 2001-05-29 18:19:20 +00:00
thorpej 74fa4349ae Install power-saving idle routines at the end of cpu_identify(). We
currently handle the QED RM52xx here.
2001-05-29 17:54:56 +00:00
thorpej c8988c2caa Add an idle loop routine for the QED RM52xx family. This uses the
RM52xx `wait' insn to power down the pipeline.
2001-05-29 17:51:55 +00:00
leo 3c596b34a3 We need the fonts for pci_vga too... 2001-05-29 10:39:56 +00:00
scw 9c1aa86e46 One less item (MD siop driver is no more). 2001-05-29 08:20:42 +00:00
leo bb159c932e Regen. 2001-05-29 06:45:56 +00:00
leo dbacb7c9b6 Move over to pciide. My CDROM drive wouldn't work with the wdcisa attachment,
but it does work with the pciide attachment.
2001-05-29 06:42:21 +00:00
leo 49009d088a Import pciide_machdep.c from i386. 2001-05-29 06:26:08 +00:00
leo 60c1352cd4 Prototype milan_vga_init() 2001-05-29 06:02:26 +00:00
leo 73cc88a7dd Whoops, where did the include of vga_pci.h go? 2001-05-29 06:01:27 +00:00
leo 0f3cd124db Fix compile error. 2001-05-29 05:58:18 +00:00
mrg 3783ca5d30 define _KERNEL_OPT as well as _KERNEL. we will use this in the future to
get kernel "opt_foo.h" headers, rather than _KERNEL && !_LKM.
2001-05-29 02:20:20 +00:00
thorpej f2800b2299 Don't have conf.h (pasto). 2001-05-28 23:25:25 +00:00
chs 9e78300eda remove check for too-small MSGBUFOFF now that the reason for it is gone. 2001-05-28 22:47:05 +00:00
thorpej 9d8dc820a8 Forgot bsd.kinc.mk 2001-05-28 22:34:25 +00:00
chs ae0ddea4f6 in pagemove(), use pmap_k{enter_pa,remove} instead of pmap_{enter,remove}
since buffer cache pages aren't really managed by UVM.
2001-05-28 22:16:17 +00:00
chs 21b70bf745 assert that pmap_extract() succeeds. 2001-05-28 22:11:45 +00:00
chs 8c221ed505 style cleanup. 2001-05-28 22:00:12 +00:00
chs e49a700498 remove a useless call to uvm_map_protect(). the kernel text is already
mapped read-only in pmap_bootstrap() and the comment which tried to
explain why this might be needed anyway didn't make any sense.
2001-05-28 21:54:26 +00:00
chs 1cedb649d4 move the spl*() and IPL_* definitions to intr.h. 2001-05-28 21:06:18 +00:00
chs a8651c4b09 make sun3x work again after the recent change to the m68k cpu_kcore_hdr:
allocate a page for dumps like the sun3 does rather than using part of
the msgbuf page.  this also lets the msgbuf use the full msgbuf page.
2001-05-28 20:56:54 +00:00
chs a83346f337 don't abuse cf_unit. 2001-05-28 20:52:34 +00:00
scw d5c72b21e5 s/ncsrc/osiop.
While I'm here, ditch some excess baggage which is useless for
the RAMDISK kernel.
2001-05-28 18:39:45 +00:00
he 47ae105daa Add Makefile snippets to install netboot in installation/netboot
under ``make release''.
2001-05-28 18:21:12 +00:00
thorpej af63f8979c D'oh, clear the soft interrupt bits in CAUSE *before* servicing
soft interrupts, rather than after, so that soft interrupts scheduled
by other soft interrupts don't get lost.
2001-05-28 18:19:27 +00:00
thorpej 16b9c60621 A port to the Algorithmics MIPS evaluation boards. We currently
support the P-5064, which has a QED RM5xxx CPU soldered on.

There is some skeletal support for the P-4032 (an older board, which
had an R4xxx CPU).  There are some placeholders for the P-6032, which
is their newest board, but no real code yet (the P-6032 has a different
PCI controller, the Algorithmics BONITO).

There are still some (apprently softintr-related) problems with the
algor kernel, but it works well-enough to self-host.

Kudos to Allegro Networks for loaning me a P-5064 board on which to do
the port.
2001-05-28 16:22:13 +00:00
kleink 7918542181 Need <lib/libkern/libkern.h>. 2001-05-28 15:53:51 +00:00
leo ed8360b3d7 Add missing semicolon. 2001-05-28 14:40:49 +00:00
scw eb9637dd7e Add COMPAT_15 and comment out COMPAT_SUNOS. (It's hardly used and saves
a bit of space on low memory models).
2001-05-28 11:14:41 +00:00
leo 2bcf7a5971 Add 'prev_sr' argument to milan_isa_intr() so we can properly defer interrupts
that come in at the wrong time.
2001-05-28 08:41:37 +00:00
leo b1ff453ae9 Add Milan console initialisation code. 2001-05-28 08:30:03 +00:00
leo 722a3ab56b Add VGA console probes. 2001-05-28 08:12:47 +00:00
leo a82df0faed Pass iot and memt to check_for_vga() 2001-05-28 07:22:37 +00:00
leo 78dbcfe665 Add bus_space_vaddr(). 2001-05-28 07:16:11 +00:00
leo be288018e2 PCI_VGA_SIZE -> PCI_MEM_SIZE. (Plus some comments on those constants). 2001-05-28 06:43:19 +00:00
minoura 2d8c98280c Cleanup. Addresses port-x68k/13051. 2001-05-28 06:18:20 +00:00
matt 0a3911863f Use structure assignment instead of bcopy. 2001-05-28 00:15:10 +00:00
matt 8fb5853698 Change the bcopy's to structure assignments. 2001-05-28 00:12:21 +00:00
wiz 3686c30f46 Add RTC_OFFSET=0 line. 2001-05-27 23:52:41 +00:00
wiz c4633b8744 Add RTC_OFFSET line (see port-macppc/10265). 2001-05-27 23:39:03 +00:00
wiz 8676d3773e Honour RTC_OFFSET. Patches from Y. Takizawa <you@nightbreak.org> via
SUNAGAWA Keiki in port-macppc/10265. Also addresses port-macppc/10949.
2001-05-27 23:38:12 +00:00
pk aad64f942b !_LKM inclusion protection for opt_kgdb.h 2001-05-27 20:59:22 +00:00
matt e2148768dc Change _MACHINE_PIO_H to _POWERPC_PIO_H 2001-05-27 20:59:15 +00:00
is 45effccbef make the defopted "LEV6_DEFER" work for LKMs, too. 2001-05-27 20:22:57 +00:00
ragge b7fc0b163a Compare arguments must have correct order, won't work as expected otherwise. 2001-05-27 19:33:20 +00:00
ragge aee2068e10 Don't install machine/loadfile_machdep.h; per PR#12666. 2001-05-27 15:37:06 +00:00
sommerfeld 7d1ef74930 Fix kern/13049: missing unlock on failure exit from pmap_enter() 2001-05-27 14:31:27 +00:00
sommerfeld 4aaf078a4a Assorted microtime fixes (similar to fixes I made yesterday when
porting this code to i386mp branch):

 - call microset() early on each cpu so that calls to microtime()
before the first clock interrupt don't return trash.  this manifested
itself as garbage runtimes in "ps" for kernel threads.
 - avoid races between hardclock updating "time" and microset on a
different cpu reading it by adding a "microset_time" global which is
initialized from "time" on the primary cpu.
 - call microset every hz ticks, not every hz+1 (cosmetic)
2001-05-27 13:53:24 +00:00
kleink 021d12d997 Add 35401A drive (not picker) support; from Jarkko Teppo in PR
port-hp300/11183.
2001-05-27 09:09:05 +00:00
chs 7520514a5e don't abuse cf_unit. 2001-05-27 06:30:27 +00:00
chs d8e8c90c8a don't abuse cf_unit. 2001-05-27 06:19:39 +00:00
gmcgarry fadbc7d451 - remove dependency on libsa by mkboot since it is a host tool.
- adjust for endianness of host.

Cross-compiling of ELF bootblocks now works.
2001-05-27 05:35:11 +00:00
gmcgarry e8c65098f6 Protect against possible alignment problems. 2001-05-27 05:31:58 +00:00
gmcgarry f94a9b7669 Alignment for on ELF systems. ELF bootblocks now work. 2001-05-27 05:30:41 +00:00
minoura d0403f9f11 Add missing line in recording. Copy & paste error... 2001-05-27 05:30:02 +00:00
gmcgarry 9be5657e02 Alignment fix. rd disks now work on ELF systems. 2001-05-27 05:29:48 +00:00
minoura cbfe174737 Reset dx_nextoff and dx_nextsize before transfer. 2001-05-27 02:18:07 +00:00
chs 6ebe782061 mcount() is named __mcount() on ELF, do the right thing. 2001-05-27 01:01:08 +00:00
chs f5065c9c55 change the one non-extended asm back to using a single % before a
register name.  the rule is that extended asms should have the
regsiter-prefix %s escaped by doubling them, but non-extended asms
don't do the escaping thing, so there the %s should not be doubled.
2001-05-27 00:58:57 +00:00
minoura 423279efd8 Honor rtc_offset. 2001-05-26 21:32:30 +00:00
chs 11a9651c8f replace vm_page_t with struct vm_page *. 2001-05-26 21:27:10 +00:00
chs e44e9dec8a replace vm_page_t with struct vm_page *. 2001-05-26 21:27:02 +00:00
marcus e90e316b11 Changed maple device to attach per function instead of per unit.
Raw maple unit access is now possible through /dev/maple*.
2001-05-26 19:04:39 +00:00
chs 772a964bef fix typo. 2001-05-26 18:16:01 +00:00
bjh21 c7a388d937 Turn "oak" into an MI podulebus driver. Tested on my new A310. 2001-05-26 17:49:46 +00:00
sommerfeld bdecf91bef Add infrastructure to allow ports to override build of in6_cksum.c by
enabling the INET6_MD_CKSUM option, which is defopted into opt_inet.h.
Supply an i386 assembly version of in6_cksum in in_cksum.s; on
P6-family cpu's, this is is roughly 20% faster than the C code in
sys/netinet6 for ethernet-mtu-sized mbufs in L1 cache.  Turn on
INET6_MD_CKSUM in i386/conf/std.i386

While we're here, also nuke some now-obsolete XXX comments from
in_cksum.s.
2001-05-26 17:46:11 +00:00
chs 118ddca24a replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}. 2001-05-26 16:32:40 +00:00
bjh21 e4e4a4a982 Fix "Unknown or missing variable at line 3210". I'm sure this isn't the first
time I've fixed this bug.
2001-05-26 15:58:26 +00:00
pk e95e804c2f Pull in "opt_kgdb.h"; see PR#13036. 2001-05-26 10:22:32 +00:00
tsutsui 2a70c2afdd Fix pte_size values changed by my misunderstanding in the previous. 2001-05-25 23:57:06 +00:00
sommerfeld e2a08caf68 Replicate pte unmap change from i386 pmap.c
(fix kern/12554 workaround).
2001-05-25 23:34:44 +00:00
oki 0cc97f1b55 Fixed panic on the cpu made by unknown vendor,
such as Transmeta Crusoe.
2001-05-25 04:39:33 +00:00
chris 7dd0515e15 Use ffs asm routine in arm32 context switch code. 2001-05-23 21:49:57 +00:00
chris f220cad8dd Use ffs like routine in the footbridge irq handling. It is now very similair to the iomd irq handler.
Note that I've kept the existing quirk of still passing the irq to the next handler even if the irq handler returned 1.  I need to investigate why we do this.
2001-05-23 21:23:54 +00:00
chris cbf8e0eb95 Add a files.footbridge for inclusion by cats and netwinder. This is to make moving of the footbridge dir easier (when it eventually moves from arm32)
Also remove EBSA285 defopt from the netwinder file as the netwinder isn't an eval board.
2001-05-23 21:21:42 +00:00
chris 8901caf8ff Create an asm based version of in4_cksum based on the sparc version.
Also don't compute psuedo header for nxt == 0
2001-05-23 19:33:48 +00:00
toshii 34691495bb Add some PCMCIA devices. 2001-05-23 16:52:34 +00:00
sommerfeld e171bbe08e Correct handling of nxt==0 (skip pseudoheader) case.
(It helps a lot if registers contain the expected values)
While we're in here, also correct parameter names in the lint goo.
2001-05-23 15:56:51 +00:00
sommerfeld 8676150cb7 In kern/12554 workaround in pmap_page_remove, don't forget to unmap
(and unlock) the other pmap's pte's before continuing to the next
pmap.  Avoids pmap lock leaks (generates LOCKDEBUG warning, deadlocks
MULTIPROCESSOR).
2001-05-23 04:25:35 +00:00
hubertf 9422f74ca8 Allow overriding the 'install' target.
(I have a nice 'install' target for cobalts here, but that only works there.
 I guess I'll put that into htdocs now that the cobalt port uses Makefile.mips)
2001-05-23 02:35:40 +00:00
toshii 38b2a7b8bf Optimize softintr_dispatch by replacing SetCPSR calls by inlined asm.
Result is ~1% improvement in ping -f rate.
2001-05-23 02:20:47 +00:00
chs 952609a853 fix printf format strings and the call to ncr53c9x_attach() so that
this compiles again.
2001-05-23 02:14:07 +00:00
matt 1da3759634 Need a compile directory for netwinder 2001-05-22 22:48:09 +00:00
chris 6985df3d25 Add installable CATS kernel 2001-05-22 21:36:45 +00:00
chris 2addefd3d7 Start moving cats out of the arm32 dir into it's own arch dir. 2001-05-22 20:59:25 +00:00
toshii 822c8273de Instead of scheduling all interrupts at IPL_BIO, use an IPL_SERIAL
handler to clear hardware interrupt bit and schedule actual handlers
using soft interrupts registered with desired IPL.

XXX This slows down interrupt handling a bit (up to a few percent with
XXX ping -f or make-over-NFS benchmarks) in some cases.
2001-05-22 17:54:50 +00:00
toshii 3d513c3e7a Implement generic soft interrupt for hpcarm. 2001-05-22 17:25:15 +00:00
toshii 7073a10bbd Nuke current_mask. 2001-05-22 17:01:16 +00:00
soda 94bba09883 bus_space'fied fd driver by TSUTSUI Izumi,
works with PICA-61 and Microsoft-Jazz,
but still doesn't work with his NEC-JC94 (NEC Express 5800/230)
due to data overrun.
2001-05-22 03:22:49 +00:00
minoura d5d0b41422 Reset the status register after abort. 2001-05-22 00:16:49 +00:00
minoura 8809460317 Correct ring buffer handling in recording. From Isaki-san. 2001-05-22 00:15:54 +00:00
uwe b3421335d9 There is no iommu prom node on JavaStation 1 and sbus node is directly
under root.  If /sbus is encountered on sun4m - attach implied iommu
first and attach /sbus under it.  Adjust bootpath accordingly to match
the attachment.
2001-05-21 22:44:07 +00:00
petrov 2867b0b94c PR#12885, added PROM name translations for fas, from John Heasley <heas@shrubbery.net> 2001-05-21 21:25:28 +00:00
uch 7fd9577e9e fix WSDISPLAYIO_PUTCMAP bug. 2001-05-21 18:37:30 +00:00
toshii 128d6fc64b Check RBB and REB bits in the console getc function and go to DDB
when a break signal is detected.
2001-05-21 16:50:35 +00:00
uch c8589412aa recompile. 2001-05-21 16:02:02 +00:00
uch 5618978d88 don't install SH4 binary. 2001-05-21 15:57:02 +00:00
uch fbb95fdb04 change window layout. 2001-05-21 15:55:04 +00:00
uch ed95b7ebe4 rework the way to set booted-console flag. 2001-05-21 15:54:25 +00:00
fredette 878353d5a8 Added support for kernel cores on the sun2. This
increases sizeof(struct cpu_kcore_hdr).
2001-05-21 14:48:58 +00:00
leo cded1f4afe Initialize to CGA mode. Wscons expects this. 2001-05-21 14:30:41 +00:00
leo b14e1e46e1 Regen. 2001-05-21 14:09:09 +00:00
leo 679b424519 Without __HAVE_NWSCONS, the keyboard won't attach... 2001-05-21 13:30:31 +00:00
perry cdc294674b add LINTSTUBs 2001-05-21 06:13:12 +00:00
perry c8057dc287 remove needless externs in front of function prototypes 2001-05-21 04:47:35 +00:00
soda 510d65b241 sync with GENERIC: enable SOFTDEP, add vlan, etc. 2001-05-21 03:37:30 +00:00
soda 17dad5433e abstract "${OBJCOPY} --output-target=ecoff-littlemips" 2001-05-21 03:34:48 +00:00
uwe 2a553a6c8d Implement notimplemented() for OpenFirmware.
Implement opf_nextprop().
Reuse obp_v2_putstr for OF promops.
2001-05-20 20:38:24 +00:00
uwe 43adc87035 Save OpenFirmware client interface handler in romp, where it is
expected to be.  GC unused opf_romp variable.
2001-05-20 17:28:16 +00:00
matt 8db6fcfd51 Move the diagnostic tests with the if. 2001-05-19 23:47:19 +00:00
jdolecek e3daef46ec Add some IBM PS/2 support bits:
* recognize PS/2 L40 via biosmca() and biosmca_ps2model in gatea20.c, instead
  of being a compile time option
* if the system is PS/2 with MCA bus, map DTYPE_ESDI disks to ed(4) for
  COMPAT_OLDBOOT

The new code is conditional on SUPPORT_PS2 define, which is on by default
for biosboot-based bootblocks.
2001-05-19 18:15:14 +00:00
jdolecek 2a7ff4a9ab Add biosmca.S if I386_INCLUDE_PS2 variable is "yes" (default, overridable) 2001-05-19 17:53:30 +00:00
thorpej 937cea769e Brain'o in last. Pointed out by Steve Woodford <scw@netbsd.org>. 2001-05-19 14:20:40 +00:00
tsutsui a1931e2305 Remove unneeded scsipi includes. 2001-05-19 05:22:41 +00:00
toshii 6e435a5783 Use platid_search to get the GPIO pin number. 2001-05-19 05:07:02 +00:00
thorpej e6d4fd2a55 Don't compute pseudo header checksum if nxt == 0. 2001-05-19 00:36:37 +00:00
thorpej 1af4d30054 Don't compute psuedo header checksum if nxt == 0. 2001-05-19 00:30:35 +00:00
matt 66d1e28936 Don't compute psuedo header checksum if nxt == 0. 2001-05-19 00:04:56 +00:00
mrg 9d582d76fc notice siop boot devices. 2001-05-18 23:32:48 +00:00
mrg 2f3c8dae5a correct some comments. <80 char debug statements. 2001-05-18 22:01:57 +00:00
mrg f42ff7ccae minor cleanups. 2001-05-18 22:01:19 +00:00
mrg 38025bb818 kill dead code. 2001-05-18 21:53:26 +00:00
mrg e8e471a863 cross compile friendly. 2001-05-18 21:50:45 +00:00
mrg a9f7a4e194 move the sbus IOMMU work around into the sbus code, so that the psycho
doesn't have to lose a page.
2001-05-18 21:35:23 +00:00
mrg 0bbf8dcb9f update some unused code to reality. 2001-05-18 21:00:47 +00:00
matt b590763f79 Call __syncicache in db_write_bytes. (makes breakpoints work better). 2001-05-18 20:38:27 +00:00
mrg 0996d006da do not force ebus interrupts to have bit 0x20 set. 2001-05-18 19:17:50 +00:00
fredette 4cb4a99c18 Don't define __LDPGSZ if it's already defined. 2001-05-18 15:34:28 +00:00
fredette 69c174610f Only on the 68010, define a different mcount() function,
one that doesn't use the memory-indirect addressing mode.
2001-05-18 15:33:03 +00:00
fredette 8160155f03 Only on the 68010, assemble versions of copypage
and zeropage that use the 68010's loop mode.
2001-05-18 15:31:38 +00:00
toshii a90c8b6620 ANSIify and minor KNF. 2001-05-18 14:51:40 +00:00
drochner 9cb9b76e3a cleanup and ELF preparation (_XXX_LABEL(), .align) 2001-05-18 11:51:57 +00:00
enami 6ae30e0e6e Don't touch GIU{USE,TERM}UPDN_REG_W if ONLY_VR4122 is defined.
XXX ... for now.  better way is needed.
2001-05-18 01:41:39 +00:00
matt 78350f3c60 Add ${AOPTS} to AFLAGS 2001-05-17 23:48:31 +00:00
lukem 9c92176b44 don't bother providing duplicate code for {read,write}_eflags() since it's in cpufuncs.h anyway 2001-05-17 16:35:06 +00:00
tsutsui b9528c4bd8 Call doshutdownhooks() in cpu_reboot().
It was not called when I committed the osiop, and I didn't notice
osiop caused problem when I fixed cpu_reboot()...
2001-05-17 14:53:54 +00:00
enami c7db455f32 Fix fomula to calcurate TClock; TClock = VTClock / tdiv, not PClock / tdiv.
The manual is inconsistient about this.
2001-05-17 13:10:46 +00:00
enami c74dc48133 Use VRIP_SIU_ADDR instead of 0x0c000000 for base address of serial console
or kgdb connection.
2001-05-17 06:00:22 +00:00
enami f2649e3000 Include opt_vr41xx.h and vrcpudef.h 2001-05-17 05:25:32 +00:00
sato e82d2d52c6 vr4122 releted definition. 2001-05-17 05:04:30 +00:00
chs 8f77918d6c the call to uvm_km_valloc() in pmap_init() can end up triggering a call to
pmap_growkernel() on large memory machines.  at this point we've already
called uvm_page_init(), so we can no longer use uvm_page_physget().
but the flag we use to decide whether to use uvm_page_physget() vs.
uvm_pagealloc() is only set at the end of pmap_init(), so we use
uvm_page_physget() anyway.  switch to using uvm.page_init_done to decide
how to allocate pages, since that's the real indicator of when we have to
change methods.
2001-05-17 02:31:26 +00:00
enami c7a624dcc6 Allow to pass -d option to kernel. 2001-05-17 01:50:35 +00:00
perry 6859233343 bcopy is dead on i386. the one use left in the kernel was in locore.s
itself, and that got replaced with a call to memcpy. Ross deserves
most of the credit.
note that if you've seen bcopy elsewhere in the kernel, systm.h
defines it as a macro...
2001-05-16 22:09:36 +00:00
scw c22fb1db55 Finally nobble the bus_dmamap_sync() problem with osiop(4).
Basically, bus_dmamap_sync() `PREREAD' needs to flush the cache
for the start and end of the region if it is not aligned to
a cacheline boundary, otherwise a subsequent POSTREAD can *purge*
valid data which was in the cacheline but *outside* the region
passed to bus_dmamap_sync().

Bus snooping doesn't always help here because osiop(4) calls
bus_dmamap_sync() with POSTREAD even if no data was actually
transferred! (And we can't rely on snooping on the 68060 models anyway).
2001-05-16 19:06:46 +00:00
drochner 35f2b9136a get up-to-date (cleanup, get rid of vm_offset_t) 2001-05-16 18:50:52 +00:00
drochner 2df9b8f13f get up-to-date (cleanup, splimp->splvm) 2001-05-16 18:49:51 +00:00
drochner 038ce6b8af get up-to-date (sprinkle pmap_update()) 2001-05-16 18:49:05 +00:00
drochner 26085708d5 get up-to-date (get rid of vm specific error codes, sprinkle pmap_update()) 2001-05-16 18:48:21 +00:00
drochner 29182d41aa get up-to-date (splimp->splvm, cleanup, sprinkle pmap_update()) 2001-05-16 18:47:04 +00:00
simonb 96a430ba30 If _SOFT_FLOAT is defined, pull floating point va_args from the GPR
area and not the FPR area (by having the double argument type test
always fail).

Fixes problems using <stdarg.h> with -msoft-float.
2001-05-16 15:41:03 +00:00
simonb 9c23ab2d54 Add "switch to ELF". 2001-05-16 15:01:40 +00:00
uch 3c3caa0eb2 don't generate opt_spec_platform.h 2001-05-16 14:26:40 +00:00
msaitoh cbcd644ce8 sigreturn() fix (from kleink) 2001-05-16 12:42:38 +00:00
enami 43923690d3 Add an entry for Victor MP-C303. 2001-05-16 11:13:20 +00:00
enami 389aaa8b08 Regen. 2001-05-16 11:06:27 +00:00
enami 7cd4cb0d25 Define platid for Victor InterLink MP-C303 2001-05-16 11:04:57 +00:00
tsubai 9b368d61a4 Add AirMac frontend. 2001-05-16 10:56:42 +00:00
enami fb619e9a70 Calc. cpu speed for VR4122. 2001-05-16 10:49:18 +00:00
leo cfc3edb550 remove some debugging leftovers. 2001-05-16 08:45:50 +00:00
enami 2f39ebba50 Victor MP-C303 uses 4k pagesize. So, ask system instead of hardcoding it. 2001-05-16 08:40:51 +00:00
enami 422ad4763b The lower bound for getPage is _addr_table_idx, not 0. 2001-05-16 08:37:44 +00:00
enami 679894e9ae Add missing close paren in message. 2001-05-16 08:19:42 +00:00
kanaoka aa09aa91c7 Search the entire device-space of bus 0 if the router device
address is set to 000:00:0, and the compatible router entry
is undefined.

  Patch PR port-i386/12880 by Dave Sainty <dave@dtsp.co.nz>.
2001-05-16 08:10:36 +00:00
leo 8406481cd3 Regen. 2001-05-16 07:53:54 +00:00
leo 7cab6084a4 Fix errors in previous commit:
- forgot PCI bus
 - forgot pckbd config
2001-05-16 07:50:29 +00:00
matt c45b32243a Add a VAXANY type. Eventually to used in INSTALL / GENERIC to easily
include support for all VAX platforms
2001-05-16 05:36:53 +00:00
perry 4201bf1ae0 nuke bcopyw and bcopyb. It is unclear what they were for, and nothing
called them.
2001-05-16 05:01:28 +00:00
perry e266791dab Add a couple of include LINTSTUBs and fix some LINTSTUB prototypes.
Still exits hard because of bcopy/memcpy problem, but that is a
legitimate problem. bcopy should go and be replaced with memcpy to fix this.
2001-05-16 04:18:52 +00:00
lukem f1362289d2 changes to lint invocation:
- sort lint flags
- add flags -F (full pathname), -g (gcc extensions; XXX for now)
- lint CFILES before LINTSTUBS
- don't -Dvolatile=
- don't grep -v 'static function.*unused'
2001-05-16 03:48:45 +00:00
perry 098ba22210 1) Add infrastructure to generate lint stub files from stylized
comments in .S files.
2) Update "make lint" target to use generated lint stubs.
2001-05-15 22:34:36 +00:00
perry e69a194db2 1) Add stylized comments (used by new lint stub generation
infrastructure) to indicate what C stubs should be generated for
   various entry points.
2) Add comments noting various artifacts discovered while performing
   task 1), including a bunch of stuff that may very well no longer be
   used.
2001-05-15 22:31:38 +00:00
simonb a411a63d8e Add the processor IDs for the 4Kc and 5Kc CPUs and some MIPS32/64
coprocessor 0 registers.
2001-05-15 21:48:50 +00:00
ragge 825165a54a Octal numbers _must_ have a heading '0'! 2001-05-15 18:59:45 +00:00
toshii fd61423f9b Change _ARM32_*_H_ to _HPCARM_*_H_. 2001-05-15 16:15:22 +00:00
lukem 103a49d158 delint: don't try & return something from void eisa_intr_disestablish() 2001-05-15 15:07:37 +00:00
lukem 33e8c1a04f delint: don't try & return something from void pci_intr_disestablish() 2001-05-15 14:48:57 +00:00
tsutsui 8f3dc26a16 Don't forget to set dma_count register in picaDmaStart().
XXX fd still does not work. (no longer hangs, but causes data_overrun)
2001-05-15 14:29:17 +00:00
leo 68f5fe6e81 Split pci_machdep into a generic/hades/milan part. There is much difference
in configspace and interrupt handling.
2001-05-15 14:14:48 +00:00
leo 3ac9086605 Add an NMI handler for the Milan. 2001-05-15 13:57:43 +00:00
leo 4a1227bb56 Add some Milan support functions:
- Low level isa interrupt handler
  - NMI fault handler - catches PLX access errors
  - PCI configspace read/write functions
2001-05-15 13:49:56 +00:00
leo 6d7aa9b12e Enable NMI for Milan. It is used for signalling PLX faults. 2001-05-15 13:46:23 +00:00
minoura 4bff72882b Missings from the previous commit.
From Izaki-san.
2001-05-15 09:10:05 +00:00
msaitoh 9ae59f3041 convert two consecutive "shll"s with one "shll2" 2001-05-15 08:54:56 +00:00
nisimura 96398342f4 Rather better to have |= to make sure spl0 condition, allowing to preserve
processor model specific SR bit pattern on pcb0 initialization.
2001-05-15 06:01:23 +00:00
bjh21 f44b12db52 Make microtime properly monotonic, with code derived from the /alpha
implementation.
2001-05-14 23:45:39 +00:00
jdolecek a97bf5e6b4 Change biosmca() to export the model number via biosmca_ps2model
variable, if the machine has a MCA bus according to info returned
by BIOS (i.e. on machines without MCA bus, biosmca_ps2model would be zero).

biosmca() is expected to be called on beginning the initialization,
and biosmca_ps2model is then used for further checks.
2001-05-14 22:14:47 +00:00
fredette 0c48999192 Rewrote a variable constraint to make gcc 2.95 happy. 2001-05-14 20:39:52 +00:00
fredette c5feae5dbf Now always define PGSHIFT. Thanks to the ELF move, note the new
larger msgbuf size and different KERNBASE.
2001-05-14 20:35:58 +00:00
ross 26882092f4 o Deal with stray machine checks
o Add for alpha a security-sensitive rate-limiting printf(9) wrapper based
  on ratecheck(9):  void rlprintf(struct timeval *t, const char *fmt, ...);
2001-05-14 19:56:22 +00:00
ross f62f237fde Fix new DEBUGLIST feature. 2001-05-14 19:49:03 +00:00
drochner e047259a1f Initial import of the known working kernel bits for the NetBSD/cesfic
port. cesfic is a VME board with one or two mc68040 processors. See
the README file for details.
The port is working well with a.out userland, there are some problems
with ELF still, like applications running out of memory where it is not
expected. Some parts, in particular the pmap (which was taken from hp300
four years ago), need updating, but this is easier done within the NetBSD
CVS tree.
2001-05-14 18:22:58 +00:00
matt 4eaed60c97 Add IP32 2001-05-14 17:59:22 +00:00
matt 50522d3e8f Add null ip32_bus_reset. Add cpu_intr_establish which calls
crime_intr_establish.  XXX cpu_intr_establish needs to have the
"normal" intr_establish arguments.
2001-05-14 17:56:36 +00:00
matt 4cf3bc7ebc Define splserial to be the same as spltty(). 2001-05-14 17:55:03 +00:00
toshii c939f00e98 Abandon disabled_mask and spl_mask, and use only current_spl_level to
manage interrupt masking.

This change is necessary for straightforward implementation of coming IPL
support for cascaded intrs, and it should not impair performance.
2001-05-14 16:19:30 +00:00
fredette 1ef476f4a4 As a side-effect of the ELF conversion, the msgbuf
can now be 8K large.  Removed more 68881 code that
is only useful if you have the real silicon, which
the 68010 never will.
2001-05-14 15:36:42 +00:00
fredette 9ec520c479 Now, instead of swapping in and out the PROM's segment zero,
swap in and out the mappings for virtual pages zero through three,
which are what the PROM really uses.  This is tied to the
move to ELF and the low memory usage changes.
2001-05-14 15:12:39 +00:00
fredette b49df54c83 One bonus of moving to ELF is that the boot loader on the sun2
now loads the kernel into physical memory at the linked address.
So we link the kernel a little lower virtually, but the bootloader
actually will load it higher in physical memory than before.
This allows us to quadruple the size of the msgbuf to 8K, and
we also shuffle around tmp_vpages and the temporary stack.
2001-05-14 15:07:23 +00:00
fredette d36a2c2284 Made changes to support ELF. Highlights include:
To find the kernel symbol table, instead of expecting
the old a.out struct exec from locore.s, use the
ELF headers found after the kernel text.
2001-05-14 15:00:28 +00:00
fredette f7c1abe426 Many changes to support ELF. Highlights include:
Added % to all register names.  The boot loader now
loads us exactly where we're linked, so no PIC or
remapping funny business.  Removed more 68881 code
that is only needed with the real silicon, which
a 68010 will never have.
2001-05-14 14:44:11 +00:00
ragge 74d7e1ecfa Write support for TU58 tapes written. 2001-05-14 14:43:45 +00:00
jdolecek 6c225c676c Compact the BIOS CFG printout 2001-05-14 14:14:09 +00:00
leo b38e85279e Allow attachment of a pc-keyboard at console attach time. 2001-05-14 13:18:47 +00:00
leo 6f308f43e8 Add wscons related includes. 2001-05-14 13:10:45 +00:00
leo b522de8af5 Adapt for the Milan. 2001-05-14 11:58:30 +00:00
leo 4eec72908c Regen. 2001-05-14 10:41:03 +00:00
leo f284e82b99 Add (ws)console stuff. 2001-05-14 10:35:30 +00:00
scw 94225b1490 port-mac68l/12931 by Dave Huang:
Add an itepoll() function. This one slipped through my recent sweep
of line-disciplines...
2001-05-14 09:27:06 +00:00
ragge 73b901c711 Add checksum calculation, busy-wait loops for receive packets and use
correct interrupt levels (spl7). Reading tapes now work reliable.
2001-05-13 21:19:44 +00:00
tshiozak b1c2276feb Correct a simple bug in the recent commit (pmap.c:1.19) by thopej.
I guess he indents to prepare a temporary variable for saving the next
pointer of a list element, but he seems to forget to substitute the
pointer for the variable.  This often causes my dreamcast panic.
2001-05-13 19:41:17 +00:00
scw 7e86548d5c doh, make the last fix compile for '147. 2001-05-13 18:35:19 +00:00
chs b98b7c2224 turn on printf format-string checking and -Werror. fix all warnings. 2001-05-13 16:55:37 +00:00
matt ed4e69766c Add VAX640 2001-05-13 15:37:28 +00:00