Commit Graph

2206 Commits

Author SHA1 Message Date
matt aada69afd5 Synch with file movement. 2001-03-04 05:15:39 +00:00
matt fb62f0c378 These have moved to ../../arm/arm (disksubr*.c) or ../../arm/arm32
(everything else).
2001-03-04 05:14:06 +00:00
matt 5d1d7ca9ca Remove a shark dependency in machdep. Use booted_kernel instead of
boot_kernel to be similiar to booted_device.
2001-03-04 01:50:53 +00:00
bjh21 c32dba2092 Remove support for /dev/cpu*. This code has never done anything useful anyway. 2001-03-03 18:04:34 +00:00
reinoud 5cc6423696 Fixed the bug that crept into giving support for moving IOMDs during startup.
Initially I gave it the type `int *iomd_base' but some macro's defined in
iomdreg.h calculated with the value asuming it to be an int ... thus all the
registers offsets were multiplied by four and that can only mean trouble !
The kernel boots again ever happily. Sorry for the inconvenience... it was
a good bug hunt though!
2001-03-02 01:46:57 +00:00
bjh21 5b15e666a1 ARM7100 -> ARM710A, following information from reinoud. 2001-03-01 23:45:56 +00:00
bjh21 c25aec3d9f PCB convergence, part the first:
Move the pointer to the current user trapframe from struct mdproc to struct
pcb (as on arm26).  Only tested by compiling kernels on arm32 and
hpcarm (dnard seems to be incomplete anyway).  Someone should try running one.
2001-02-28 18:15:42 +00:00
reinoud 4cb4b8642c Make it compile again... 2001-02-27 20:27:17 +00:00
reinoud 3500dc208f Centralise declaration of memc_base 2001-02-27 20:23:11 +00:00
reinoud b8c8050369 Define iomd_base ... make it compile again 2001-02-27 19:57:51 +00:00
reinoud 5cd12d1f9e Make it compile again 2001-02-27 18:33:26 +00:00
reinoud d4eb8fb142 Also forgot to declare the iomd_base. 2001-02-27 18:30:46 +00:00
reinoud d35a86c1a6 Forgot to declare iomd_base since it isnt in iomdreg.h anymore due to the
inclusion of this file in assembler.
2001-02-27 18:29:36 +00:00
bjh21 4b483d7606 Move "options ARMFPE" to files.arm, so generic ARM files can use it. 2001-02-27 17:56:31 +00:00
bjh21 f983a837ed Add multiple-include protection, and include <machine/cpus.h> here (where
it was actually needed).
2001-02-26 16:40:00 +00:00
bjh21 d666817eff Remove unnecessary #include <machine/cpus.h>. 2001-02-26 15:59:54 +00:00
reinoud 9f68c8b2b1 Putting param.h back to arm32 include directory 2001-02-26 00:06:45 +00:00
reinoud e4e4d358a0 Fixed IOMD remapping during boottime 2001-02-25 23:59:48 +00:00
bjh21 3fb058011a Move arm32 ports over to using <arm/armreg.h>, so <cpu.h> mostly contains
NetBSD-specific definitions.

This also entails some changes to the way CPU identification is done.  I hope
I've got it right.
2001-02-25 21:31:13 +00:00
bjh21 846fe69958 Remove CPU_* options (they're in files.arm now -- for some reason I missed
this lot in the last commit).
2001-02-25 18:28:27 +00:00
reinoud 1a53c63fd7 Finally implemented the moving VIDC chip; this solves the red colour too at startup
for RiscPC, A7000 and RC7500. A better solution should be made but is currently
unavailable for all the VIDC stuff isnt using bus_space at all...
2001-02-25 17:17:55 +00:00
reinoud 142f62c206 Moved the mainbus files to the arm/conf/file.arm from the arm32 and the
hpcarm/conf/files.hpcarm
2001-02-24 21:43:01 +00:00
reinoud 7535275b7c Fixed the `slow printing' bug that occured with debugged kernels on RiscPC's.
When the IOMD isnt mapped and all is mapped 1:1 a read gives garbage and thus
the obscure feature that slows down printing (or halts it!) when the mouse
button is pressed during output to the vidcconsole gets allways activated.

Included a simple flag that signals if the IOMD is mapped; the delay routine
won't check the mouse if this flag is still clear.
2001-02-24 21:29:38 +00:00
reinoud 1267afb3b6 Make lm audio for RiscPC compile again 2001-02-24 20:12:40 +00:00
reinoud b7b1d6b636 Make rc7500 compile again 2001-02-24 20:11:08 +00:00
reinoud 78a1b11faf Make arm32 RiscPC compile again 2001-02-24 20:08:53 +00:00
reinoud 286f491040 Changed an innocent looking but pretty expensive table walking in pmap.c
from DIAGNOSTIC to PMAP_DEBUG
2001-02-24 20:04:42 +00:00
reinoud f583057770 Repaired a syntax fault in the files.[hpcarm,arm32] 2001-02-24 19:43:50 +00:00
reinoud 086a93939c Part 2 of merge.... the dissapearance of mainbus from arm32 and hpcarm;
these parts were a 100% the same and i've included the extensions made by
hpcarm in the tree.
Checked for occurence of MD parts; none found.
2001-02-24 19:38:01 +00:00
bjh21 6b7ad3aa3e __HAVE_NWSCONS and __HAVE_DEVICE_REGISTER are MACHINE-dependent. 2001-02-23 22:02:43 +00:00
reinoud 92493b7a32 Missed this file in the merge due to a typo ! 2001-02-23 21:27:46 +00:00
reinoud c1f753f9b4 Big patch for merging common include files of the new hpcarm tree and the old arm32
tree into the new arm substree. All moved files are relinked with a stub that included
the file from the new location; this might be done better later.
2001-02-23 21:23:45 +00:00
reinoud ed2535fabd Changing rc7500 for naming change of vidcvideo to vidcconsole 2001-02-21 00:55:34 +00:00
reinoud 926ac33ffb Add newly renamed file for transition to new naming
vidcrender.c  is old vidcconsole.c
  vidcconsole.c is old vidcvideo.c
2001-02-21 00:53:36 +00:00
reinoud 37eca554a2 vidcvideo rename phase 2 : getting it to build again; tested ok 2001-02-21 00:51:26 +00:00
reinoud 23d7dbe67e Updated documentation about the bootloader 2001-02-20 22:58:34 +00:00
reinoud f1d3c5daa6 Renamed vidcvideo configure option to vidcconsole wich covers the function
better and allows to clean up vidc tree by enabling the use of the term
vidcvideo for what it is : configuring video independent of choise of console
to allow implementation of wscons for RiscPC/A7000 and RC7500.
2001-02-20 22:49:55 +00:00
reinoud 68eaed4e53 Extended monitor file definition for AKF 85 (Phillips Brilliance 17'')
Some extra modes added and changed some mode definitions to better suit
my monitor.
2001-02-19 16:46:42 +00:00
bjh21 d03f5eac72 Some of this code is based on an old version of BBBB -- update the copyright
message to indicate this.
2001-02-19 15:54:16 +00:00
reinoud 73254cd1f4 Import of newest version ... checked for correct importing now ....
The import script needs some sophistication but its ok now...
2001-02-19 15:28:13 +00:00
reinoud 64ceee1d67 Fixed CVS directory overwriting by deleting it in the copy first; this to
prevent import trouble due to messed up CVS directories.
2001-02-19 14:32:45 +00:00
reinoud 0a46ddf1e2 Changed export script so it doesn't kill the CVS directory :) 2001-02-19 14:26:41 +00:00
reinoud e263b21061 Another bug ... the extract archive wasnt build in the correct directory 2001-02-19 14:18:24 +00:00
reinoud f3b8ca18f1 Fixed a small bug in the export script 2001-02-19 14:15:42 +00:00
reinoud 0085973034 Import of the new RISCOS bootloader in the CVS tree with import and export scripts.
Start version is v 0.91
2001-02-19 14:09:00 +00:00
bjh21 d7fca27e58 Garbage-collect vestigial support for the Simtec Hydra board. The main code
to support it was never committed to the tree, and it would probably need
major reworking anyway.
2001-02-19 13:29:39 +00:00
bjh21 504ce207cb Make the kenrel base address a variable. 2001-02-19 13:26:17 +00:00
simonb d669e1cea8 Fix tyop. 2001-02-18 22:32:32 +00:00
reinoud 5fa30a864f fixed naming bug :( ... I should be more carefull 2001-02-18 12:42:31 +00:00
reinoud 7665787d5e Fix to solve PR arm32/9208 "RiscPC reboot hangs"
Due to the StrongARM support code in the cpu_reset() MC-function,
an instruction was executed to drain the write back buffer on StrongARM
processors (might even be armv4+).

Since ARM{6,7} don't recognize this instruction they will either except
for an illegal instruction on this or have undefined behaviour resulting
in an endless illegal instruction/data abort/reset behaviour.

The fix contains a flag that signals if the WB flush should be executed
or not for the detected processor.
2001-02-18 12:21:02 +00:00
reinoud 9dd76bf15d Updated the bootloader for RiscPC/A7000/NCs etc. remains compatible with the old bootloader by an COMPAT_OLD_BOOTLOADER option 2001-02-18 00:59:33 +00:00
reinoud 3043022c3a Added extra kernel vm by moving up vidc space 2001-02-18 00:56:42 +00:00
reinoud a598ade96e Updated MAGIC number for new bootloader 2001-02-18 00:55:31 +00:00
reinoud 00b4361e08 Add compatibility option for old bootloader 2001-02-18 00:54:02 +00:00
bjh21 8b601afaf3 Re-introduce <arm/endian_machdep.h>, this time using GCC's idea of the target
endianness.
2001-02-17 14:55:44 +00:00
bjh21 9b6de1da90 Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c.
Also ANSIfy it and use it on arm26.
2001-02-13 22:54:25 +00:00
bjh21 7b820f85da Fix to compile with current ne2000.c: ne2000_attach() now only takes two
arguments.
2001-02-13 19:17:13 +00:00
bjh21 284047a2b2 Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and
arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in
the process.

The code is based on the arm32 version, so I don't think anything should break
there.
2001-02-13 13:19:52 +00:00
bjh21 a4e55e0f13 Shared ARM ptrace(2) implementation. Mostly the same as the arm32
version, but with some #ifdefs for arm26.

Also, don't define PT_STEP, since we don't implement it.  This should
reduce code size a little.
2001-02-11 17:03:04 +00:00
bjh21 9826a76781 Common <arm/reg.h> (and hence common struct reg) for ARM.
This is theoretically backward-incompatible on arm26, but GDB doesn't work there
yet anyway.
2001-02-11 14:51:55 +00:00
tsutsui 6b047fe46b In footbridge_pci_intr_map(), pcv and intrtag are used
only #ifdef PCI_DEBUG. Move declarations in it.
2001-02-08 13:59:38 +00:00
tsutsui 276fc3f6b7 One more fix for pci_intr_map() API change. 2001-02-08 13:55:45 +00:00
jdolecek 8b24036797 Require the machine-dependant DDB commands to be in db_machine_command_table[]
and link it directly to db_command_table[] so that it's not necessary
to do this at runtime. Make db_machine_command_table[] const on all ports.
g/c now unneded stuff, like db_machine_commands_install(), db_machine_init()

Patch written by enami.
2001-01-22 13:56:55 +00:00
jdolecek ecf8569ea6 make beep_waveform[] const 2001-01-22 13:31:45 +00:00
bjh21 8805bd8b56 Unify arm26 and arm32 trapframe structures. The unified trapframe is the same
shape as the old arm32 one, but there are a few #defines to keep arm26 code
happy.  Anything that depends on the precise shape of the trapframe,
and especially on being able to treat it as an array of registers, has been
updated.
2001-01-20 17:14:19 +00:00
lukem b01d829ec1 s/ea/eb/ in a couple of places 2001-01-20 02:41:19 +00:00
bjh21 2c89ce7e74 Add <arm/frame.h>, for shared stack frame structures. Currently, only sigframes
are common.
2001-01-18 21:48:25 +00:00
tv e58532a4bf No-op commit to force update to a non-"-kk" revision. 2001-01-18 17:47:58 +00:00
jdolecek c1fc5392f5 adjust ddb variable access functions to have first arch 'const', make db_[e]regs[] const 2001-01-18 10:55:29 +00:00
jdolecek 65e6340df5 adapt to recent changes of signal structures changes 2001-01-18 10:18:24 +00:00
fvdl c7f1462f3e Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.
2001-01-17 00:07:18 +00:00
augustss 46130fb7e5 Add uyap. 2001-01-16 03:38:22 +00:00
thorpej d74e432ed3 Make softclock a generic soft interrupt of the API is available,
adding the requisite void * argument to softclock().
2001-01-15 20:19:50 +00:00
martin a261276f16 The i4b raw b-channel devices actually do have an ioctl routine,
so better add this to the cdevsw entry.
Noted by Bruno Achauer.
2001-01-14 11:17:28 +00:00
thorpej a3ec356d52 splimp() -> splvm() 2001-01-14 03:22:04 +00:00
thorpej d85a75f583 Make sure everybody has an splvm() and equate it with splimp() (splimp()
is the historical name for this interrupt level, and the historical name
is going to go away in the near future).
2001-01-14 02:00:37 +00:00
bjh21 8df387473f Move <machine/signal.h> into shared directory. 2001-01-13 17:02:36 +00:00
bjh21 78c0ba909e Separate out sigcode into its own file, since it's shared by arm26 and arm32. 2001-01-13 00:06:50 +00:00
bjh21 a5ef6e1f81 Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should
generate smaller compiled code.
2001-01-12 21:31:51 +00:00
bjh21 a4047bf10c Move the generic ARM disassembler from arm32/arm32 to arm/arm. 2001-01-12 13:43:11 +00:00
bjh21 6fa98146d5 Start merging actual code in arm32 and arm26:
arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c

Also move specification of other checksum stuff to files.arm, even though we
use the MI code for that.
2001-01-11 23:27:26 +00:00
bjh21 5159a10d97 Share <machine/elf_machdep.h> between arm26 and arm32. 2001-01-11 22:28:06 +00:00
bjh21 a2dacbe06d Switch over to using the generic arm header files for everything that arm26
and arm32 agree on.
2001-01-11 22:07:53 +00:00
bjh21 5a91dd00b9 Add "arm" to the "machine" line, so we get files.arm pulled in, and more
importantly, the arm->arch/arm/include symlink.
2001-01-10 18:38:37 +00:00
martin 5d0c67c603 When adding isdn devices I forgot to check chrtoblktbl.
Fix this know for the affected archs.
2001-01-09 20:51:04 +00:00
martin f53c899649 Add isdn devices to all archs that seem to support at least one of the
necessary busses. Sync comments with reality for archs that already had
the devices.
2001-01-08 21:46:33 +00:00
takemura c5fd828440 replace 'long long' with int64_t to compile stand alone program with
compiler other than GCC.
2001-01-03 10:08:55 +00:00
sommerfeld 851de295eb Change pci_intr_map to get interrupt source information from a "struct
pci_attach_args *" instead of from four separate parameters which in
all cases were extracted from the same "struct pci_attach_args".

This both simplifies the driver api, and allows for alternate PCI
interrupt mapping schemes, such as one using the tables described in
the Intel Multiprocessor Spec which describe interrupt wirings for
devices behind pci-pci bridges based on the device's location rather
the bridge's location.

Tested on alpha and i386; welcome to 1.5Q
2000-12-28 22:59:06 +00:00
matt 1ea4047532 Add __ELF__ case for RCSID. Now identical to arm26 version. 2000-12-28 03:53:31 +00:00
itojun efa2b7073c make mbstate_t bigger (32 -> 128 bytes).
XXX if you have libc after citrus locale import, please recompile libc,
and your applications that use mbstate_t (rather rare).  really sorry
for the mess.
2000-12-26 10:35:28 +00:00
jdolecek e9e91a0fb5 split off thread specific stuff from struct sigacts to struct sigctx, leaving
only signal handler array sharable between threads
move other random signal stuff from struct proc to struct sigctx

This addresses kern/10981 by Matthew Orgass.
2000-12-22 22:58:52 +00:00
itojun 823498203f populate _BSD_MBSTATE_T_. add warning regarding to rune_t. 2000-12-21 06:03:47 +00:00
bouyer c71f40d166 Add pseudo-device vlan 2000-12-19 10:42:02 +00:00
bjh21 689b0d9238 Regen 2000-12-19 00:36:54 +00:00
bjh21 6d2a9cf566 Correct i-cubed podule list from their CardType utility. 2000-12-19 00:36:26 +00:00
jdolecek cacec11253 delete obsolete comment 2000-12-17 15:52:39 +00:00
mycroft f25d5fc601 Fix another obvious linesw problem. 2000-12-16 21:16:22 +00:00
mycroft 8a6c4ba10b Fix an obvious braino in the line discipline change. 2000-12-16 21:09:18 +00:00
mycroft e06ad67fa5 Remove ALTENTRY(). It's dangerous and should not be used. 2000-12-14 20:15:26 +00:00
mycroft a34a3ecb5e Slight tweak. 2000-12-12 20:49:16 +00:00
mycroft a8ac146577 Adjust for userret() interface change. 2000-12-12 19:45:47 +00:00
mycroft ea3353ea19 Clean up some DEBUG stuff, move want_resched check from userret() to ast(). 2000-12-12 19:41:50 +00:00
mycroft 4944313b38 GC a little more cruft, and use __HAVE_MINIMAL_EMUL. 2000-12-12 18:26:43 +00:00
mycroft d90febaada More cleanup. 2000-12-12 18:13:29 +00:00
mycroft 9e9c8e676b Adjust some profiling stuff for the kernel. 2000-12-12 17:38:45 +00:00
mycroft 5e6430ffd8 Clean this up and add profiling stuff. 2000-12-12 07:35:25 +00:00
mycroft 9fc58d6908 Whoops, lay off the crack. 2000-12-12 06:36:19 +00:00
mycroft 446f34fb60 suswintr() and fuswintr() return -1 on error, not 0. 2000-12-12 06:32:39 +00:00
mycroft 7057d01bbc Inline need_resched() and need_proftick(). Make need_proftick() actually *do*
something!
2000-12-12 06:06:05 +00:00
mycroft 6a719db6e7 Still more cleanup. 2000-12-12 05:35:48 +00:00
mycroft c656add165 More cleanup. 2000-12-12 05:26:38 +00:00
mycroft e58eb48f25 Begin cleaning up the syscall path, a la i386. 2000-12-12 05:21:02 +00:00
bjh21 2d96994642 It seems that i-cubed used the "A" suffix on card types (along with "Lk" and
probably some others) to indicate the software mix on the card, while we
were using it to indicate Acorn-branded variants.  Change over to using "AEH"
for the latter.
2000-12-07 21:24:33 +00:00
bjh21 bd3f8674a0 Regen 2000-12-07 21:23:54 +00:00
bjh21 65cdac60a6 It seems that i-cubed used the "A" suffix on card types (along with "Lk" and
probably some others) to indicate the software mix on the card, while we
were using it to indicate Acorn-branded variants.  Change over to using "AEH"
for the latter, and while we're at it clean up the descrptions and add some
that were missing.
2000-12-07 21:23:32 +00:00
bjh21 2caf09a602 regen 2000-12-05 00:44:21 +00:00
bjh21 1bdf317d96 Add the 16bit podules I got from abs (ColourCard, Centronics, sampler, MIDI). 2000-12-05 00:43:55 +00:00
chs c29a1b4461 allow ports to override PAGER_MAP_SIZE in machine/vmparam.h.
some ports (such as arm32) don't have enough KVA for the
increased default size once the UBC mapping is also present.
2000-11-27 08:19:50 +00:00
chs 63d8906bac const poisoning. 2000-11-26 15:13:50 +00:00
bjh21 2906c5057a Regen. 2000-11-26 15:04:22 +00:00
bjh21 22b88b3d3e Add HCCS IDE interface, from Kjetil B. Thomassen <kjetil@thomassen.priv.no>. 2000-11-26 15:03:25 +00:00
chs 0ac52aaf1d remove MD functions for printing vnodes and buffers since there are
MI versions now.
2000-11-21 16:34:52 +00:00
chs 7af6378fca two changes to arm32 fault handling:
- when pcb_onfault is set, allow UVM to attempt to resolve permission faults
   as well as translation faults (rather than immediately invoking the
   onfault handler for permission faults).  this is needed for UBC since
   it will be normal for uiomove() to fault on read-only mappings which
   will be made writable by the pager.
 - clear pcb_onfault before calling uvm_fault() and restore it afterward.
   if the fault handler generates a pagefault, we'd like to panic rather
   than invoking the onfault handler.
2000-11-21 06:30:05 +00:00
chs c62d17a551 rationalize the use of b_flags for geteblk() buffers.
rather than assigning to the whole field, set or clear individual flags,
which implies that the B_BUSY and B_INVAL flags will remain set.
this allows us to make the assertion in brelse() that B_BUSY is set,
which is the purpose of all this.
2000-11-20 08:24:08 +00:00
lukem 9f10280ff3 OF_nextprop(): change 'char *nextprop' -> 'void *nextprop', in line with
pk's change to sys/dev/ofw/openfirm.h rev 1.15.
2000-11-18 12:15:50 +00:00
thorpej b84f740be0 Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach(). 2000-11-15 01:02:11 +00:00
matt 39dc5fc58b Add openfirm pseudo-device. 2000-11-14 23:42:35 +00:00
matt edc0af8cd3 Add OF_nextprop and required conf-glue for /dev/openfirm. 2000-11-14 07:13:02 +00:00
abs d72a269feb If we only ever have a strongarm CPU, use
makeoptions    COPTS="-O2 -march=armv4 -mtune=strongarm"
some files previously had
	makeoptions    COPTS="-O2 -march=strongarm -mtune=strongarm"
some had no option at all
2000-11-13 18:40:34 +00:00
ad e6be92ad99 Pull in dev/i2o/files.i2o. 2000-11-08 19:48:51 +00:00
tsutsui 87ebc281b2 Print which IRQ is used for compatibility interrupts. (from i386) 2000-11-04 14:05:55 +00:00
abs cee0acd601 Add
options         INET6           # IPV6
#options        IPSEC           # IP security
#options        IPSEC_ESP       # IP security (encryption part; define w/ IPSEC)
#options        IPSEC_DEBUG     # debug for IP security
In the case of VOYAGER, comment out INET6 also
2000-11-03 10:18:55 +00:00
eeh bc7363329c Adapt to new line discipline scheme. 2000-11-02 00:26:35 +00:00
abs 0b8ff41f41 Recalculate NVRAM checksum when updating the NVRAM. Avoids 'reboot'
and 'halt' corruptring the NVRAM contents under RISC OS 4.
Taken from patch by Dave Daniels for PR/8759
2000-11-01 12:28:50 +00:00
abs e997060c61 Fix hanging problem with acorn scsi card on RiscPC and A7000 machines
PR port-arm32/10539 from Mike Pumford
2000-11-01 12:18:55 +00:00
tsutsui 5013e5d7f2 Enable options SOFTDEP. 2000-10-28 22:42:08 +00:00
abs 1ee75cc4e0 Add:
makeoptions        COPTS="-O2 -march=strongarm -mtune=strongarm"
2000-10-26 18:33:02 +00:00
abs 1bb1a44a90 Add (for StrongARM CPUs) commented out
makeoptions     COPTS="-O2 -march=armv3m -mtune=strongarm"
2000-10-26 14:15:33 +00:00
thorpej 7ca3fb9ef0 Move the check for "promisc + unicast + not for us" into ether_input(),
and change Ethernet drivers to always pass all received frames to
ether_input() (with a few exceptions, which are documented in the
code).
2000-10-01 23:32:39 +00:00
is 643b30ef1d Admit that we count wired pages. 2000-09-27 21:34:29 +00:00
jdolecek b1f94e26ab don't specify number of ptys if >= 16 (current default initial number)
pty comments: normalize and g/c what is no longer relevant
2000-09-24 15:59:26 +00:00
jdolecek 49c105ffdb add new macro BOOT_FLAG() (defined in <sys/boot_flag.h>) - this
maps standard boot flags to corresponding RB_* values
use BOOT_FLAG() in port's MD code as appropriate

as discussed on tech-kern, add new boot flags -v, -q for booting
verbosely or quietly, and corresponding AB_VERBOSE/AB_QUIET
boot flags; also add FreeBSD-compatible bootverbose macro and
NetBSD-specific bootquiet macro

for hpcmips, use new bootverbose instead of it's own hpcmips_verbose

Tested on i386, and to limited extend (compile of affected files) also for
mvme68k, hp300, luna68k, sun3.
2000-09-24 12:32:31 +00:00
augustss e9a2baa2ff Grab a major # for USB scanners. 2000-09-23 04:30:08 +00:00
thorpej 72a24b4eae Add an align argument to uvm_map() and some callers of that
routine.  Works similarly fto pmap_prefer(), but allows callers
to specify a minimum power-of-two alignment of the region.
How we ever got along without this for so long is beyond me.
2000-09-13 15:00:15 +00:00
is 0a7489b1e8 Enlarge RAMDISK to make it fit the installation fs again.
By Mike Pumford per port-arm32 mailing list..
2000-08-30 21:29:16 +00:00
thorpej 4db6fc7542 Make need_resched() take a "struct cpu_info *" argument. This
causes gives a primitive form of processor affinity.  Its use in
roundrobin() still needs some work.
2000-08-25 01:04:06 +00:00
nathanw 5127aa189d In fdioctl(), allocate fd_formb dynamically when needed, rather than on
the stack, and remove the no-longer-necessary PHOLD()/PRELE() calls
in fdformat().

(This eliminates 1/3 of the instances of PHOLD()/PRELE() in the kernel code.)

XXX We still have too many mostly-redundant floppy drivers.
2000-08-24 20:04:28 +00:00
thorpej 58e7a6954b Add spllock(). See spl(9) for details. 2000-08-22 19:46:26 +00:00
thorpej 23a7f255d4 Make sure we provide splsched() as described in spl(9). 2000-08-21 02:06:31 +00:00
itojun 85dda25e94 move "options PULLDOWN_TEST" into sys/sys/mbuf.h (in #ifdef _KERNEL),
as it is no wthe default setting for everyone.

the reason we still use the name "PULLDOWN_TEST" while it is now default:
kame code sharing.
2000-08-13 01:31:15 +00:00
tshiozak 51a53de0d5 Preparation for the future introduction of multibyte locale.
- MB_LEN_MAX is increased to 32.
 - To ensure binary compatibility for old executables
   under multibyte locale, versioned setlocale is added.
 - __mb_len_cur definision is added in setlocale.c
   and enable it in stdlib.h .
   It is also important for multibyte locale stuffs,
   but I just forgot.
2000-08-08 22:31:13 +00:00
mark 3dc04c2b47 Fix compile problem. Fixes PR 10670. 2000-08-08 08:19:38 +00:00
hubertf 54c5777f78 sync with GENERIC rev. 1.72 2000-08-04 02:23:22 +00:00
hubertf 97ec6e11d8 Explain what the strip pseudo-device is for 2000-08-04 02:17:46 +00:00
mason 4a353b5330 Moving to a default of 64 PTYs. 2000-07-27 17:53:35 +00:00
bjh21 926ed939b6 Fix grammatical error in panic msg 2000-07-27 10:12:31 +00:00
is 747fe6b40d French/Finnish/German/Norwegian keyboard support; ported by Thomas Runge from the i386 pccons.c. Minus the iso8859-1 to pc437 translation which isn't needed on the DNARD. 2000-07-24 22:05:27 +00:00
is ee0e9a4283 French/Finnish/German/Norwegian keyboard support; ported by Thomas Runge
from the i386 pccons.c. Minus the iso8859-1 to pc437 translation which
isn't needed on the DNARD.
2000-07-24 21:56:09 +00:00
bjh21 2e61c1bdb7 Correct spelling and capitalisation of "EtherLan".
Add EtherLan 100Lk (8-bit mini-podule).
2000-07-22 15:05:47 +00:00
tsutsui 7fb0549d87 Add ep* at isapnp and ep* at isa.
3c509 works fine on my CATS.
2000-07-08 01:24:35 +00:00
sommerfeld 502fc00210 Comment out EON ISO-over-ip tunneling pseudo-driver, and document as
broken/fragile.  Unlikely to be of much use, and confuses new users
when their system crashes when they, or their dhclient stumble over
it.  See kern/10500, kern/8994 for the gory details.
2000-07-05 04:07:22 +00:00
cgd a5c13f9ad4 Kwality control:
* put #includes of opt headers and headers to get protos used by
  net/netisr_dispatch.h in net/netisr.h (if !defined(_LOCORE)) (rather than
  in netisr_dispatch.h itself, and potentially nowhere, respectively).
* require netisr.h to be included before netisr_dispatch.h.
* minor additional cleanup of both netisr.h and netisr_dispatch.h.
* clean up uses to remove now-unnecessary header file inclusions, and
  local prototypes of the fns.
* convert netisr dispatch implementations which didn't use
  netisr_dispatch.h (pc532) to use it.
2000-07-02 04:40:33 +00:00
itojun d738f90fd7 raise MSIZE from 128 to 256.
- for sizeof(void *) == 8 arch, this is mandatory.  MHLEN is too small
  already (less than 80) and there are chances for unwanted packet loss due
  to m_pullup restriction.
- for other cases, the change should avoid allocating clusters in most cases
  (even when you have IPv4 IPsec tunnel, or IPv6 with moderate amount of
  extension header)

portmasters: if your arch chokes with the change (high memory usage or
whatever), please backout the change for your arch.
2000-06-30 17:55:11 +00:00
itojun d76ae83df8 add PULLDOWN_TEST for all the platforms.
XXX should be moved to somewhere else when stabilized
2000-06-30 17:10:15 +00:00
mrg b564830503 remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 08:44:03 +00:00
mrg d726c1dfc5 remove redundant vm includes. 2000-06-27 09:09:51 +00:00
kleink bb2ed0f487 G/c _BSD_INTPTR_T_ and _BSD_UINTPTR_T_. 2000-06-27 05:53:22 +00:00
kleink 47b5c5e3b1 Resolve some formatting nits; add __intptr_t and __uintptr_t. 2000-06-27 04:58:51 +00:00
kleink e695f72a2e Add <machine/int_types.h>, which provides namespace-pure definitions
of exact-width integer types.
2000-06-26 15:42:16 +00:00
mrg 2f159a1bac remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +00:00
simonb 889c658b5b Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes.  Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
2000-06-26 04:55:19 +00:00
mark 3880aa267c Implement bus_space_write_region_4() and bus_space_read_region4()
for footbridge.
2000-06-24 09:42:47 +00:00
kleink 133ea38323 Add a WEAK_ALIAS() macro. 2000-06-23 12:18:45 +00:00
fvdl 1ee7d22c0b Remove prefix construction for softdeps. Add SOFTDEP option to GENERIC. 2000-06-22 20:27:49 +00:00
matt 2a744b7dce Remove a blank line at the end. 2000-06-17 06:19:03 +00:00
veego 223d7455c7 Remove the obsolete config fragments for kernel crypto, because the IPsec
crypto code is now in the kernel source tree.
2000-06-14 22:02:13 +00:00
soda 0f76c56f2d increase number of parameters of pckbc_cnattach(), since offset of command port
is not 4 (KBCMDP), but 1 on jazz based platforms of arc port.
2000-06-09 04:58:32 +00:00
matt d3649351f1 Add support for machdep.console_device, machdep.booted_device,
and machdep.booted_kernel sysctl variables on arm32.  (booted_kernel
only currently available on Sharks)
2000-06-07 04:59:28 +00:00
matt e1ac3df8a4 sharks can now figure out what they booted from so only a single kernel is
needed.
2000-06-07 04:36:06 +00:00
matt ea16c1ada3 Enable __HAVE_DEVICE_REGISTER and add a ofw_device_register to shark_machdep.c
This works for booting diskless.  It should work for booting off ide but that
is untested for the moment.
2000-06-06 20:17:34 +00:00
soren a9aa2abf94 defopt SYSCALL_DEBUG. 2000-06-06 18:52:30 +00:00
jhawk c063b64a2b Do not clear msgbufenabled in dumpsys(). Dump messages will now go to
the message buffer. This can be invaluable in debugging if the dump
fails (assuming a persistant message buffer)
2000-06-05 23:44:55 +00:00
cgd 489af6e337 fix pasto pointed in the evcnt changes pointed out by Robert Swindells 2000-06-05 23:28:20 +00:00
cgd cffb580806 Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
2000-06-04 19:14:14 +00:00
matt 547f87cded fix arguments to get_device. 2000-06-03 16:48:59 +00:00
matt 9169d99f2a Don't pass booted_* to findroot/getdevice, access them via the globals.
Also, make findroot static.  This eliminates unneeded clearing of them
and make their use consistent among the ports.
2000-06-01 15:38:20 +00:00
matt c9aff328d9 Make booted_device global (and booted_parition for consitency).
Eliminate it from header files and other extern definitions.
2000-06-01 00:49:49 +00:00
cgd 47449a63d2 kill __P in these files. (I had to look at them anyway with an eye for
adding some protos... and adding them with __P seems wrong, but mixing
__P and not __P in the same file seems wrong too, so...)
2000-06-01 00:04:50 +00:00
thorpej 8871d8563a Add a comment on single-processor systems about p_cpu being initialized
by fork1().
2000-05-31 05:06:43 +00:00
thorpej e03e9e8086 Rather than starting init and creating kthreads by forking and then
doing a cpu_set_kpc(), just pass the entry point and argument all
the way down the fork path starting with fork1().  In order to
avoid special-casing the normal fork in every cpu_fork(), MI code
passes down child_return() and the child process pointer explicitly.

This fixes a race condition on multiprocessor systems; a CPU could
grab the newly created processes (which has been placed on a run queue)
before cpu_set_kpc() would be performed.
2000-05-28 05:48:59 +00:00
sommerfeld 40339b39f9 Reduce use of curproc in several places:
- Change ktrace interface to pass in the current process, rather than
p->p_tracep, since the various ktr* function need curproc anyway.

 - Add curproc as a parameter to mi_switch() since all callers had it
handy anyway.

 - Add a second proc argument for inferior() since callers all had
curproc handy.

Also, miscellaneous cleanups in ktrace:

 - ktrace now always uses file-based, rather than vnode-based I/O
(simplifies, increases type safety); eliminate KTRFLAG_FD & KTRFAC_FD.
Do non-blocking I/O, and yield a finite number of times when receiving
EWOULDBLOCK before giving up.

 - move code duplicated between sys_fktrace and sys_ktrace into ktrace_common.

 - simplify interface to ktrwrite()
2000-05-27 00:40:29 +00:00
thorpej a7d0570e67 First sweep at scheduler state cleanup. Collect MI scheduler
state into global and per-CPU scheduler state:

	- Global state: sched_qs (run queues), sched_whichqs (bitmap
	  of non-empty run queues), sched_slpque (sleep queues).
	  NOTE: These may collectively move into a struct schedstate
	  at some point in the future.

	- Per-CPU state, struct schedstate_percpu: spc_runtime
	  (time process on this CPU started running), spc_flags
	  (replaces struct proc's p_schedflags), and
	  spc_curpriority (usrpri of processes on this CPU).

	- Every platform must now supply a struct cpu_info and
	  a curcpu() macro.  Simplify existing cpu_info declarations
	  where appropriate.

	- All references to per-CPU scheduler state now made through
	  curcpu().  NOTE: this will likely be adjusted in the future
	  after further changes to struct proc are made.

Tested on i386 and Alpha.  Changes are mostly mechanical, but apologies
in advance if it doesn't compile on a particular platform.
2000-05-26 21:19:19 +00:00
tsutsui 446a3875db Back out privious.
fxp on CATS sometimes causes pool related panic().
2000-05-26 19:01:22 +00:00
jhawk 8e44b27348 Rename the machine-specific stack trace printing functions
from db_stack_trace_cmd() to db_stack_trace_print(),
and add an additional argument, a function pointer for an
output routine (i.e. printf() or db_printf()).

Add db_stack_trace_cmd() in db_command.[ch], calling
db_stack_trace_print() with db_printf() as the printer.

Move count==-1 special handling from db_stack_trace_print() [nee
db_stack_trace_cmd()] to db_stack_trace_cmd() [nascent here].

Again, I'm unable to test compilation on all affected platforms,
so advance apologies for potential brokenness.
2000-05-26 03:34:24 +00:00
thorpej 8964c35eca Introduce a new process state distinct from SRUN called SONPROC
which indicates that the process is actually running on a
processor.  Test against SONPROC as appropriate rather than
combinations of SRUN and curproc.  Update all context switch code
to properly set SONPROC when the process becomes the current
process on the CPU.
2000-05-26 00:36:42 +00:00
jhawk f3528d725d Interface change: db_printsym() takes a third argument, pr, a function
pointer indicating how to print the symbol. This allows db_printsym()
to called in places where db_printf() is not an appropriate output
function.

While straightforward, apologies in advance if I've introduced any minor
syntax errors; I was unable to test compilation this on all the affected
platforms.
2000-05-25 19:57:30 +00:00
tsutsui e747c390f0 Enable fxp* at pci and inphy* at mii. 2000-05-25 14:50:34 +00:00
thorpej 1140468205 Use preempt(), not an open-coded equivalent (which won't be
equivalent for long).
2000-05-24 16:48:33 +00:00
thorpej 463931b3ba Nuke dk_establish() from orbit except from those ports which still use
it to determine the boot device: mvme68k, pc532, macppc, ofppc.  Those
platforms should be changed to use device_register().  In the mean time,
those ports defined __BROKEN_DK_ESTABLISH.
2000-05-16 05:45:44 +00:00
tsutsui 924b1948b4 Replace (non-working) ncr with new siop. 2000-05-13 14:54:51 +00:00
bjh21 6c97e2bd78 Initial commit of arm26 port 2000-05-09 21:55:44 +00:00
hubertf 9f48bba3ae Add "install" target, so "make install" after building the kernel
does something useful.  The target can be redefined by putting a
install-kernel-${MACHINE_NAME} target that fits your needs into
/etc/mk.conf.
2000-05-09 00:56:21 +00:00
thorpej 6a33c86623 HAVE_GCC28 -> HAVE_EGCS, and make it match gcc 2.9 as well. Also,
make the use of -Wno-uninitialized explicit, don't rely on a compiler
hack to do it for us.
2000-05-09 00:32:19 +00:00
augustss 3a6e3a4670 Add (sometimes commented out) MIIVERBOSE option. 2000-05-08 13:49:44 +00:00
thorpej 855b79db92 Let each platform typedef the new __cpu_simple_lock_t, which should
be the most efficient type used for the atomic operations in the
simplelock structure, and should also be __volatile.
2000-05-02 04:41:04 +00:00
thorpej f51470a514 Require that each each MACHINE/MACHINE_ARCH supply a lock.h. This file
contains the values __SIMPLELOCK_LOCKED and __SIMPLELOCK_UNLOCKED, which
replace the old SIMPLELOCK_LOCKED and SIMPLELOCK_UNLOCKED.  These files
are also required to supply inline functions __cpu_simple_lock(),
__cpu_simple_lock_try(), and __cpu_simple_unlock() if locking is to be
supported on that platform (i.e. if MULTIPROCESSOR is defined in the
_KERNEL case).  Change these functions to take an int * (&alp->lock_data)
rather than the struct simplelock * itself.

These changes make it possible for userland to use the locking primitives
by including <machine/lock.h>.
2000-04-29 03:31:45 +00:00
tsutsui 5f992b6d2b Rename rl -> rtk. 2000-04-22 13:13:21 +00:00
itojun 3be41bae18 add stf pseudo interface (commented out due to possible security risks) 2000-04-19 06:50:27 +00:00
drochner 5e990a7f7c implement bus_space_vaddr() 2000-04-17 17:39:17 +00:00
mark b9156eec05 Add missing include of vm/vm.h 2000-04-09 00:18:12 +00:00
thorpej 4044b5a41c Use separate callouts for motor-on and motor-off. Fixes a condition
where the floppy driver would wedge because a motor-on timeout would
be cancelled by another I/O operation cancelling a motor-off timeout.

From enami tsugutomo <enami@sm.sony.co.jp>.
2000-04-07 16:58:53 +00:00
augustss 9a31a8c77f Add atapibus* at umass? 2000-04-03 00:03:28 +00:00
kleink 230876cf26 Merge parts of chs-ubc2 into the trunk:
* Remove the casts to vaddr_t from the round_page() and trunc_page() macros to
  make them type-generic, which is necessary i.e. to operate on file offsets
  without truncating them.
* In due course, cast pointer arguments to these macros to an appropriate
  integral type (paddr_t, vaddr_t).

Originally done by Chuck Silvers, updated by myself.
2000-03-26 20:42:21 +00:00
tsutsui 5513a809b2 Remove duplicated "audio* at uaudio?" line. 2000-03-26 04:31:39 +00:00
scw 8b9e435d47 Nuke some warnings when KERNEL_DEBUG is defined. 2000-03-25 21:26:47 +00:00
tsutsui 9100212ef0 Add a "sc_rev" member to ncr5380_softc and handle CXD1180 quirk
in MI ncr5380sbc.
2000-03-25 15:27:54 +00:00
ws b7570cae85 Update several ports to at least work again without IPKDB
after the update of that.
Sorry for breaking this with my last changes :-(.
Fixes PR#9671 by Lennart Augustsson.
2000-03-24 17:05:30 +00:00
thorpej b667a5a357 New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
  resource allocation.
- Insertion and removal of callouts is constant time, important as
  this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 06:30:07 +00:00
cgd 7c35662066 add commented out option PCI_CONFIG_DUMP whever there's a PCIVERBOSE. 2000-03-22 00:58:16 +00:00
tron 6c390b4142 Fix bad function calls discovered after prototype fixes in last commit. 2000-03-19 19:14:42 +00:00
mycroft e1a7dc9b2a Fix line wrapping. 2000-03-18 16:16:12 +00:00
mycroft 0af581a1a1 Add a ncr5380_attach() routine which does part of the initialization, attaches
the scsibus, and does the addref/delref dance.
2000-03-18 16:13:22 +00:00
tron e86957458a Install "machineendian_machdep.h". 2000-03-17 22:36:31 +00:00
mycroft 9e21b6555a In the `MY THAT'S GROSS' department...
Eliminate the recursive include of machine/endian.h from sys/endian.h.
2000-03-17 00:09:18 +00:00
darrenr 162b0b1dab __P(()) -> __P((void)) 2000-03-16 23:21:05 +00:00
mycroft 02905321b2 Foolish consistency. Mainly, always use underscores and sys/endian.h. 2000-03-16 15:09:34 +00:00
oster 1bad2e1909 Add the RAIDframe device major to the machine-dependent config files
so that the right entries get added to dev_name2blk[].  Needed for / on RAID.
(Whoops!  I missed checking these in when adding the RAID_AUTOCONFIG stuff.)
2000-03-14 15:56:51 +00:00
soren 95054da1a1 Fix doubled 'the's in comments. 2000-03-13 23:52:25 +00:00
kleink a9ebf7bb8c Define ISO C99 (unsigned) long long (min, max) symbols. 2000-03-07 19:31:49 +00:00
thorpej a183d34f04 - Implement cnbell() -- ring the console bell. The cn_bell entrypoint
is optional.
- Add cn_bell to statically allocated consdevs as appropriate.
2000-03-06 21:36:05 +00:00
mark 60d1e515ef Remove dead option POSTMORTEM. 2000-03-06 03:16:24 +00:00
mark 9b9e4e5a8f defopt EBSA285 and FOOTBRIDGE. 2000-03-06 03:15:46 +00:00
simonb 4eb55e447c Do the "<space><tab>" thing with the RAID_AUTOCONFIG option. 2000-02-29 06:32:20 +00:00
oster d9c47013b2 Defopt 'RAID_AUTOCONFIG'. Adding 'options RAID_AUTOCONFIG' turns on
the component auto-detection and auto-configuration of RAID sets.
Also, add "#options RAID_AUTOCONFIG" to the GENERIC config files.
2000-02-26 17:35:33 +00:00
erh 8f03b9a04a Define the DONETISR macro and use netisr_dispatch.h. This is to cut down on code duplication and to standardize the available NETISRs across all ports. 2000-02-21 20:38:46 +00:00
tsutsui 6df4ed6f4d Fix resettod() from Richard Earnshaw <rearnsha@arm.com> 2000-02-19 00:27:16 +00:00
tsutsui 6cf82b4102 Sync with CATS. 2000-02-19 00:17:59 +00:00
tsutsui 7f54ebdd6b - enable adv, pcscp, ex, vr and sequencer (which I am/was using)
- add (commented out) ne[01] at isa? (working)
- add (commented out) file-system CODA
- add (commented out) mpu* at sb? and midi* at mpu? (untested)
- comment out faith (sync with GENERIC)
- some more cosmetics
2000-02-19 00:14:58 +00:00
thorpej fd8c03cf44 Allow arch-specific code to specify in4_cksum() like it can specify
in_cksum().
2000-02-14 21:42:50 +00:00
mark 068fcab81e Enable rl ethernet device.
General tidy up.
2000-02-13 05:26:04 +00:00
mark f43601877b Remove __BROKEN_CONFIG_UNIT_USAGE. 2000-02-13 05:20:45 +00:00
mark d97d3dc6a5 Enable rl ethernet device and do some general cleaning up. 2000-02-13 05:19:40 +00:00
mark 7ef62e2b59 Remove unncessary cf_unit usage.
Make sure we only attach 1 of these devices.
2000-02-13 05:00:57 +00:00
mark 9316cea99d Remove unnecessary cf_unit usage. 2000-02-13 04:59:57 +00:00
kristerw 952281e8fb Fixed a bug in the ATR parsing; If TA(i) was absent, then TA(i+1) was
used as TA(i) (and similary for TB(i) and TC(i))
2000-02-13 01:31:22 +00:00
kristerw 8ff64870d4 The T0 byte must not be included in the TCK calculation (ISO/IEC 7816-3
chapter 6.4.5)
2000-02-12 22:40:12 +00:00
thorpej dded044fc2 Update for the NKMEMPAGES changes. 2000-02-11 19:25:12 +00:00
shin 7f5a7c00ac fix include file.
<netinet6/ip6.h>	->	<netinet/ip6.h>
2000-02-09 05:48:26 +00:00
thorpej 52a2804a5c Add a new function call to the ISA DMA API: isa_dmamaxsize(), which returns
the maximum transfer size for the specified DMA channel.  Make all clients
of ISA DMA use this call to determine their maximum transfer size.
2000-02-07 22:07:27 +00:00
thorpej fe551f0e64 Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle.  Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.
2000-02-07 20:16:47 +00:00