Commit Graph

1570 Commits

Author SHA1 Message Date
mark 1ca0ef8cae Modify the arguments to pmap_bootstrap() to take a pv_addr_t structure
for the page table to map kernel pagetables (kernel_ptpt). This means
that the pm_vptpt field is now valid for the kernel_pmap.
Use constants from vmparam.h in pmap_allocpagedir().
1998-08-28 02:46:51 +00:00
mark c5695ed630 Centralize the definition of pv_addr_t to pmap.h 1998-08-27 04:00:53 +00:00
mark af91a82f1e Remove pv_addr_t and systempage declarations. 1998-08-27 03:58:10 +00:00
mark e7a61c9984 Centralise the definition of the pv_addr_t structure. 1998-08-27 03:55:06 +00:00
tv 7308faf67b "COMPAT_11 + COMPAT_12 + COMPAT_13" doesn't work - these are based on
definition, not 1 or 0.  Also, since all pre-1.4 releases require
COMPAT_13 (not just 1.3 binaries), just "#ifdef COMPAT_13".
1998-08-26 14:51:57 +00:00
augustss 9deb19798f Add OPL driver. 1998-08-26 12:10:57 +00:00
augustss 76567c8213 Remove ad1848 attribute; it's in conf/files now.
(Why don't we remove the XXX hack in this file?)
1998-08-26 09:32:24 +00:00
mark 47e470f2af Use UVM as standard. 1998-08-25 22:07:46 +00:00
mark 34f8ef18c9 Updated for changes to some of the constants defined in vmparam.h
Simplified serveral parts of the initarm() to make the code clearer and
modified parts of initarm() as part of an on-going effort to abstract
out part of initarm() on various machines.
1998-08-25 22:03:07 +00:00
mark 61bd706797 Include machine/vmparam.h 1998-08-25 21:56:14 +00:00
mark bd14bb41f0 Define KERNEL_PD_SIZE in terms of various constants defined in vmparam.h 1998-08-25 21:55:06 +00:00
mark cda0e37703 Collect various kernel constants together and define them in all one
place (some moved from param.h)
Define several constants such as page table addresses in terms of other
constants.
Increase some of the limits :
  MAXTSIZ	8MB -> 16MB
  DFLDSIZ	16MB -> 128MB
  MAXDSIZ	256MB -> 512MB
  DFLSSIZ	512KB -> 2MB
1998-08-25 21:53:37 +00:00
mark 4e8239cdca Removed a number of kernel constants as they have moved to vmparam.h 1998-08-25 21:50:54 +00:00
mark f920e4e2d6 In physconinit(), don't use printf() to clear the screen but call
the console's putstring function directly.
1998-08-25 03:26:36 +00:00
mark b75234f009 Add calls to cpu_cache_cleanID() after calling setttb() during initarm().
This is necessary as the memory addresses being used for the cache clean
(if the CPU is a SA110) may have been remapped by the setttb() call and
thus the cache could loose sync with memory.
1998-08-25 03:10:25 +00:00
augustss c29fdceff3 Prepare for MIDI devices. 1998-08-22 22:50:53 +00:00
thorpej f73a7043f3 ISA Game port driver, lifted from BeBox port. 1998-08-20 06:31:34 +00:00
thorpej b176b7ba0f Add joy driver at cdev 56. 1998-08-20 06:30:56 +00:00
thorpej 31ac3d022c Add joy driver devsw declarations. 1998-08-20 06:28:43 +00:00
thorpej 2d282c7e70 Add joy driver glue. 1998-08-20 06:28:18 +00:00
thorpej cc042ba0e5 Correct a function name in a panic message. 1998-08-20 05:46:20 +00:00
thorpej 4396c67463 Internal cleanup. 1998-08-17 22:28:00 +00:00
augustss cd09067eb4 * Redo the way the way the MIDI driver attaches to audio devices.
* Improve the midisyn layer a little.
* Add a driver for the Yamaha OPL[23] FM synths.
  The opl driver is not finished yet; it sounds pretty awful.

For some strange reason I cannot get any FM sound from my SB64 cards,
but a regular SB16 works fine.
1998-08-17 21:16:09 +00:00
thorpej 0809175887 #define _CS_OFISA_MD_REG_FIXUP 1998-08-17 20:40:53 +00:00
thorpej defb1b327e Implement a reg fixup, needed for old OpenFirmware builds. 1998-08-17 20:38:08 +00:00
mark 518c6812d3 Block user space access between the cache purge and the context switch in
cpu_switch() as all user space addresses must be removed from the cache
prior to the context switch and interrupts are live for the purge.
1998-08-16 02:17:17 +00:00
mark 2ea34b589c Enable interrupts during cache clean, purge and sync operations.
Instead use a flag to indicate that all user space access are blocked
during the cache op to ensure that user space virtual addresses correctly
expunged from the cache.
1998-08-16 02:14:15 +00:00
mark decc2dde0a Implement a mechanism to prevent fuswintr() and suswintr() from accessing
user space via a flag. This enables interrupts to be live during certain
critical operations where user space accesses must not be attempted.
1998-08-16 02:11:32 +00:00
mark 152c00c687 Enable interrupts as soon as possible in prefetch_abort_handler(),
beore any of the diagnostic checks etc.
1998-08-16 02:03:30 +00:00
mark d83571ea08 Enabled interrupts as soon as it possible in syscall(), before any
of the diagnostic checks.
1998-08-16 02:01:16 +00:00
mycroft d07b3639a4 Assign my copyrights to TNF. 1998-08-15 17:47:15 +00:00
mycroft 6dc903202f Assign my copyrights to TNF. 1998-08-15 10:10:47 +00:00
mycroft 08ab3f8338 I didn't write any of this. 1998-08-15 03:36:34 +00:00
mycroft 6d3d8a1350 Make copyright notices with my name consistent. 1998-08-15 03:02:31 +00:00
thorpej 2b869a383f Use _CS_OFISA_MD_* callbacks for old, broken OpenFirmware builds. 1998-08-15 02:59:01 +00:00
mark 2a48768678 Debug inst_unconditional_flow_transfer and next_instr_address
macros so that single stepping works correctly.
1998-08-15 02:57:28 +00:00
mark 170eadd04c Add FILECORE filesystem. 1998-08-14 03:56:21 +00:00
eeh a2dd74ed79 Merge paddr_t changes into the main branch. 1998-08-13 02:10:37 +00:00
mark 3ad4ac45f9 Reworked interrupt blocking and unblocking to improve interrupt latencies
during context switches.
1998-08-12 01:10:29 +00:00
mark 0a1a20bd29 Recognise STRH, STRSH and STRSB instructions as store instructions when
determining page protections for [u]vm_fault(). Fixes bug spotted by
Richard Earnshaw.
1998-08-10 15:15:49 +00:00
mycroft 093a8daf6b Go to splhigh in the debugger. 1998-08-09 00:00:57 +00:00
mycroft e2686d0a1b Use splnet, not splimp. 1998-08-08 23:51:39 +00:00
mycroft d5eb56b2c2 Move splclock and splaudio outside splimp. 1998-08-08 23:39:38 +00:00
kleink 709dda58f8 _POSIX_SOURCE -> _POSIX_C_SOURCE, and add missing protection bits. 1998-08-06 11:22:57 +00:00
mark 25997dd19d IPL_TTY -> IPL_SERIAL. 1998-08-04 20:09:37 +00:00
mark b6ffd3a85e Don't call cpu_tlb_flushID() from the pmap_update macro. 1998-08-04 19:11:29 +00:00
mark 167a777474 Drop in the lastest round of optimisations from Neil Carson.
The cache cleaning code in pmap_copy_page() and pmap_zero_page()
  has been rewritten and uses a new function pmap_clean_page().
  pmap_remove() has been completely rewritten to make it more efficient
  when there are only a few pages that actually need to be removed.
1998-08-04 19:02:19 +00:00
mark 47ac4421e0 In setregs(), only pass the stack value in r12 if COMPAT_1[123] is defined. 1998-08-04 16:25:28 +00:00
mark 4b14908352 Fix the validation of source addresses in db_read_bytes() so that
memory ranges mapped with L1 section mappings do not cause aborts
due to lack of L2 page table.
1998-08-04 16:19:54 +00:00
mark e9c872cd6b Define a macro L1_MASK to mask out the level 1 pde type bits. 1998-08-04 16:16:22 +00:00
mark d91830b032 Namespace cleanup. Prefix all the JMPBUF* macros with _JB. 1998-08-04 02:01:17 +00:00
mark 70fe6c76a1 Pass ps_strings in r0 when execing processes.
Use macros rather than absolute values in zero_page_read*() functions.
1998-08-02 21:50:31 +00:00
thorpej 0869d8f714 Blargh, deal with some fallout from the ISA PnP goo, this will go away once
we can pull in files.isa properly.
1998-07-31 16:42:01 +00:00
thorpej 29ad6dac50 ISA PnP goo. 1998-07-31 04:50:01 +00:00
thorpej 6f3b1afe37 First-cut ISA PnP support for NetBSD/arm32. 1998-07-31 04:48:42 +00:00
thorpej 7b68dfc9c7 Fixup include paths. 1998-07-30 21:58:48 +00:00
thorpej d85ed3d973 Put the SoundBlaster stuff back for files.ofisa (Until we can just
properly include files.isa).
1998-07-30 21:51:00 +00:00
augustss cdeb158d5f A first stab at making the SHARK sound work. It doesn't really work
yet, but it probes and makes a noise when used.  Stay tuned!
1998-07-30 14:11:42 +00:00
mark 620bc79e36 Fix the copyin(), copyout() argument validation to check for zero
length copy before returning EFAULT for a bad address.
1998-07-29 00:56:08 +00:00
thorpej 6dd25080b4 Garbage-collect ofisacs, noted by Scott Reynolds. 1998-07-28 21:19:13 +00:00
thorpej 3ff8e6493a Don't cast the null residual pointer passed to vn_rdwr(). 1998-07-28 18:34:52 +00:00
thorpej 9b35e91d59 Update for cs* at ofisa? 1998-07-27 01:44:20 +00:00
thorpej 803df07221 Obsolete. 1998-07-27 01:43:24 +00:00
thorpej 6d885615a2 Obsolete. 1998-07-27 01:42:19 +00:00
thorpej 6828d39080 Actually provide the correct bus space tags. 1998-07-27 00:48:15 +00:00
thorpej b9aeeb3fa1 Remove a test, making diagnosis of IRQ problems easier. 1998-07-26 21:24:37 +00:00
thorpej f0ff548dd2 Rewrite the probe to use values from the EEPROM for membase and IRQ
if they're not specified by the attach arguments, so that they can
be reported by isaprint().  Rearrange the attach routine to facilitate
splitting this up into front- and back-end drivers.
1998-07-25 01:15:54 +00:00
thorpej b4195e59cd Change the interface to the EEPROM functions such that they can be called
from the probe routine.
1998-07-24 23:25:13 +00:00
thorpej 8d611b5f32 Remember the product ID and revision. 1998-07-23 19:25:52 +00:00
thorpej 1c9aed40f6 Round-out full-duplex support. 1998-07-23 19:02:55 +00:00
thorpej 202d438148 CS8900 driver has of_network_dev property. 1998-07-22 22:09:59 +00:00
thorpej c10c18b955 Get media from OpenFirmware. 1998-07-22 22:09:18 +00:00
thorpej 05ff8b05f5 Print the default media at attach time. 1998-07-21 23:09:25 +00:00
thorpej 02ad0b4eda Add support for ifmedia. 1998-07-21 22:58:31 +00:00
thorpej aaa383804d Correct the name of the CS8920M id. 1998-07-21 19:54:56 +00:00
thorpej 52cfd19bcf Ever closer to KNF. 1998-07-21 01:17:14 +00:00
thorpej bb3c5257c7 Move the cs8900 driver's softc, etc. definitions to an MI location. 1998-07-21 01:04:55 +00:00
thorpej 133efc841f Use <dev/isa/cs89x0var.h> 1998-07-21 01:04:09 +00:00
thorpej 9c9a866a90 Move PacketPage read/write macros in to if_csvar.h 1998-07-21 00:58:46 +00:00
thorpej bdc9dcbe8a G/c two more unused definitions. 1998-07-21 00:53:57 +00:00
thorpej 23efef79fc Move the code that prints Rx errors into a separate function, rather than
duplicating it.
1998-07-21 00:52:15 +00:00
thorpej 9282418a78 Some cosmetic changes. 1998-07-21 00:40:17 +00:00
thorpej 20fb09c609 G/c more unused debugging goo. 1998-07-21 00:24:45 +00:00
thorpej 6014ea2216 Garbage-collect some unused debugging goo. 1998-07-21 00:23:18 +00:00
thorpej f45804c4c6 Nuke sc_iobase (and a serious misuse of it!) 1998-07-21 00:22:29 +00:00
thorpej 22ff8accae Use fixed-size types. 1998-07-21 00:20:35 +00:00
thorpej 5b56c35223 Nuke the "pia" typedef. 1998-07-21 00:18:35 +00:00
thorpej 44d02a07d0 Update for <dev/isa/cs89x0reg.h> 1998-07-21 00:11:03 +00:00
thorpej 57488ef1e4 Remove the register descriptions from this file, and split them into
<dev/isa/cs89x0reg.h>
1998-07-21 00:10:11 +00:00
thorpej c3e7a09c4e Use <dev/isa/cs89x0reg.h> 1998-07-21 00:08:57 +00:00
is 6054d626f9 Switching dev/ic/lpt.c to use spllpt() instead of spltty(). It doesn't use
tty structures, and on some machines (namely the DraCo internal lpt, and some
multi-i/o boards for Amigas and DraCos), tying spltty to the pretty high printer
interupt level would hurt serial performance.

On all affected ports but Amiga, spllpt() has been defined in machine/intr.h
to be spltty(), thus preserving old behaviour. Portmasters are encouraged to
change is, if they feel something else is better (e.g., one of its own were
possible).
1998-07-18 21:27:25 +00:00
thorpej 2fc1260cc0 Implement bus_dmamap_load_uio(). 1998-07-17 21:09:59 +00:00
mark f6e8a93bac Replace hardcoded constant with VM_MIN_KERNEL_ADDRESS. 1998-07-17 19:12:48 +00:00
thorpej 41986b6ad6 Print out the revision as a letter, i.e. 'A', ... 1998-07-15 03:29:47 +00:00
thorpej 25a86ef490 Be a little more thorough when printing the chip name, and also print
the chip revision.
1998-07-15 00:01:17 +00:00
thorpej 45c63f6b7b Massive cleanup of this driver (format police, autoconfig). More to come. 1998-07-14 23:38:49 +00:00
mark 57c3ea15d8 Guard opt_cputypes.h include with _KERNEL && !LKM 1998-07-13 06:12:08 +00:00
mark 7b6cd6a0a6 Guard opt_cputypes.h include with _KERNEL && !LKM. 1998-07-09 02:43:25 +00:00
thorpej e32f380030 Garbage-collect some of the old ISA DMA code. 1998-07-08 07:56:47 +00:00
thorpej 8bbd7378c5 RCS ID police. 1998-07-08 07:56:13 +00:00
thorpej 9bbe01f100 Note that UVM is mandatory on the Shark (otherwise ISA DMA won't work) 1998-07-08 05:27:17 +00:00
thorpej e332a993e2 Initialize the machdep ISA DMA structures once we've done OpenFirmware
ISA DMA initialization.
1998-07-08 05:01:56 +00:00
thorpej 8d10a53ddb Use MI ISA DMA code (XXX this needs some work). 1998-07-08 05:01:17 +00:00
thorpej fcd0183e81 Remove all of the home-grown ISA DMA code, and translate the OpenFirmware
"dma-ranges" property into the pmap's ISA DMA ranges.
1998-07-08 05:00:40 +00:00
thorpej 28cbb7c537 Provide the ISA chipset tag. XXX This should go away in favor of a real
ofisa attachment of the "cs" driver.
1998-07-08 04:59:46 +00:00
thorpej f5535d79ca Provide the ISA chipset tag. 1998-07-08 04:59:02 +00:00
thorpej 8eeb7eaad0 Implement an ISA bus_dma back-end for NetBSD/arm32. Tested only on the
Shark, but should work for other ISA-"enabled" arm32 systems, as well.
1998-07-08 04:58:03 +00:00
thorpej 696858d5f9 Nuke these; we use the MI ISA DMA code now. 1998-07-08 04:57:13 +00:00
thorpej 98b07e4b07 Provide an ISA chipset tag via isa_attach_hook(). G/c home-grown
ISA DMA code, in favor of the MI code.
1998-07-08 04:56:13 +00:00
thorpej b51b6b7c04 Lift-and-tweak from the i386 port (near-complete rewrite), providing
the ISA DMA stuff expected by machine-independent code.
1998-07-08 04:54:47 +00:00
thorpej eeb19dd33c Remember our ISA chipset tag. 1998-07-08 04:53:33 +00:00
thorpej f7e400a7ab Use the machine-independent ISA DMA code.
XXX We use COHERENT for now; need to deal with sync'ing DMA maps being
XXX used by the isadma driver.
1998-07-08 04:53:03 +00:00
thorpej a177e7aedc Rearrange this a little so we can use MI ISA DMA code. XXX Should just
pull in files.isa, but Not Right Now, apparently.

Add the sound blaster driver here (XXX see above), and build the
arm32 bus_dma back-end.
1998-07-08 04:51:12 +00:00
thorpej 8e03657b43 Define two free lists: default, and one to protect ISA DMA-safe memory. 1998-07-08 04:49:21 +00:00
thorpej d7d001fe70 Allow platform-specific code to define DMA-safe memory ranges for ISA.
If pages being loaded into the VM system intersect with any of these
ranges, the intersecting pages will be placed on a lower-priority
free list to protect them.
1998-07-08 04:48:20 +00:00
mark 93179db2b7 Remove several pointless cache/tlb cleans. (From Neil Carson). 1998-07-08 00:18:16 +00:00
mark e1fe0d71c0 Fix IOMD ID checks. 1998-07-08 00:15:59 +00:00
mark 9a4a105abb Remove un-necessary write buffer drains. (From Neil Carson). 1998-07-08 00:13:41 +00:00
mark f79b12670f Simplify cache cleaning in page_move(). (From Neil Carson). 1998-07-08 00:12:33 +00:00
mark 9dccefd1c9 Simplify the included files. 1998-07-08 00:10:44 +00:00
mark ddae1799a5 Make sure the write buffer is drained during syncing. 1998-07-08 00:08:39 +00:00
mark 61cdca4a6d Remove unused file. 1998-07-07 17:59:56 +00:00
mark d20b5cf136 Clean up included files. 1998-07-07 17:51:54 +00:00
thorpej 8f2575ec87 Use fixed-size types. 1998-07-07 04:29:42 +00:00
mark 4a463e49fe defopt CPU_* options in opt_cputypes.h 1998-07-07 03:05:15 +00:00
mark 3d4c1e7372 Cleanup ofw_boot().
Remove un-necessary includes.
1998-07-07 02:45:00 +00:00
mark 2abb91b62a Nuke a redundant cache clean in pmap_enter() (from Neil Carson). 1998-07-07 01:18:47 +00:00
mark 2194175b24 KNF. 1998-07-07 00:48:11 +00:00
mark 68dd742555 Include opt_armfpe.h 1998-07-06 18:13:26 +00:00
mark d41434d3ae Cleanup explict Makefile dependancies. 1998-07-06 02:43:38 +00:00
mark 9161d5ab60 Include opt_pmap_debug.h for PMAP_DEBUG defopt. 1998-07-06 02:40:42 +00:00
mark 3682a37511 Include opt_compat_old_ofw.h for COMPAT_OLD_OFW option. 1998-07-06 02:36:52 +00:00
mark 94df6c50f4 defopt COMPAT_OLD_OFW and PMAP_DEBUG. 1998-07-06 02:35:34 +00:00
mark 9ed6d03641 Always include arm32/disassem.h 1998-07-06 02:33:25 +00:00
mark 572dcd8575 Include opt_armfpe.h 1998-07-06 01:56:40 +00:00
mark f10dbf227d defopt ARMFPE. 1998-07-06 01:54:56 +00:00
mark 5df95c3336 Junk the DISASSEMBLE macro and just call disassemble() directly. 1998-07-06 01:54:36 +00:00
mark 70fba3ee34 postmortem() is no longer used in this file. 1998-07-06 01:52:26 +00:00
mark a96139b744 Include opt_uvm.h and define Lcnt appropriate for UVM or non-UVM configs. 1998-07-06 01:04:17 +00:00
mark 8b4b75b9ea The ARMFPE option is never enabled by default any more. 1998-07-06 00:59:21 +00:00
mark c73c7674d7 defopt IRQSTATS. 1998-07-06 00:53:07 +00:00
mark ac8d41742b Remove MOUSE_IOC_ACK option as this is now standard. 1998-07-06 00:49:20 +00:00
mark d016feb2d7 Define MOUSE_IOC_ACK as standard. 1998-07-06 00:43:28 +00:00
mark 9126d07941 defopt XSERVER. 1998-07-06 00:42:37 +00:00
mark e110bd8a6a defopt IRQSTATS and XSERVER 1998-07-06 00:41:17 +00:00
mark 36af051383 Update functions that missed the previous name space change. 1998-07-05 23:31:16 +00:00
jonathan b37021c1a1 defopt NATM. 1998-07-05 22:48:05 +00:00
jonathan d275e56dee * defopt COMPAT_{09,10,11,12,13} and COMPAT_NOMID.
TODO: revisit interaction between native compat and emul compat usage.
1998-07-05 08:49:30 +00:00
jonathan 011f2bda08 defopt NS, NSIP. 1998-07-05 06:49:00 +00:00
jonathan 5c0c5dd0b4 defopt ISO TPIP. 1998-07-05 04:37:35 +00:00
jonathan 8db0fcdbf7 defopt CCITT. 1998-07-05 02:12:22 +00:00
jonathan 3751946b97 defopt INET, NETATALK. 1998-07-05 00:51:04 +00:00
jonathan 466e784ee1 defopt DDB. 1998-07-04 22:18:13 +00:00
hubertf a18ed5d074 add missing ";" for non-UVM systems 1998-07-03 21:32:43 +00:00
tv b457cc5098 For now, do not build just "netbsd" as the root device probe cannot
distinguish wd0, cs0, etc.  Build only netbsd_netboot and netbsd_wdboot.
1998-07-02 23:39:22 +00:00
augustss 5aa0920e7d Make it compile again. 1998-06-29 13:53:00 +00:00
thorpej 9609289966 When loading a DMA map, check that the pages in the transfer are within
the tag's DMA range(s), if ranges are specified.
1998-06-28 07:32:32 +00:00
thorpej 46320bb017 Clean up the bus space function namespace somewhat; make sure they don't
collide with function names used in other parts of the kernel.
1998-06-28 07:27:51 +00:00
thorpej 3497ab9a8c Add a pointer to an array of DMA ranges. DMA buffers must lie within
a range, or else an error is returned when loading a map.  If the ranges
pointer is NULL, no range checks are performed.
1998-06-28 03:22:10 +00:00
thorpej e3f4206162 Only use DMA_BOUNCE if it is defined. 1998-06-28 00:53:21 +00:00
thorpej ad9e227ed7 Fix a bunch of printf arguments. 1998-06-27 02:48:24 +00:00
thorpej a4e8fc45cd Nuke the _cookie member of the bus_dma_tag_t; it's not used by anything. 1998-06-27 02:16:23 +00:00
thorpej 06f1469055 Really namespace-protect the virtual address in the DMA segment structure. 1998-06-27 02:13:39 +00:00
thorpej 06c15a479d Remove some #if 0'd i386-specific code that was inherited when this
was copied from the i386 port.
1998-06-27 02:11:19 +00:00
thorpej 9da799cc58 Normalize the real/avail mem printfs, and make them consistent wrt.
UVM vs. Mach VM.
1998-06-26 22:42:37 +00:00
thorpej eb7e67ad13 If the IPL masks are debugging information, then only print them #ifdef DEBUG. 1998-06-26 22:40:59 +00:00
lukem bd8d501f7e remove options FIFO; it's now the default 1998-06-26 01:53:43 +00:00
mark abbf864c5c Provide a dummy definition of __warn_references macro when __GNUC__ is not
defined.
1998-06-25 21:54:35 +00:00
thorpej 971b8956ef defopt KTRACE 1998-06-25 21:18:11 +00:00
mark c69d26fdf6 Fix a sub instruction that should be subs. (Bug spotted by Richard Earnshaw) 1998-06-25 17:24:39 +00:00
mark 5c82c19d55 Define cfattach structure for ofbus_root_ca and prototypes for
ofbus_match() and ofbus_attach().
1998-06-24 19:44:33 +00:00
mark a2d7775fa1 Implement a delay() function for OFWGENCFG configurations. 1998-06-24 19:31:59 +00:00
mark 9dba4cd582 Fix bug in last commit regarding the positioning of the added #endif. 1998-06-24 19:31:16 +00:00
mark 3102dd4e2c Remove definition of cpu_reset_address as it is no longer needed. 1998-06-24 19:27:12 +00:00
mark adfa28edcf Disable cpu_reset() on OFW configurations as they will use OF_boot()
instead.
1998-06-24 19:22:48 +00:00
mark a34d0aae74 Cleanup time:
Fix code indenting.
  Removed a load of unnecessary includes.
  Removed unnecessary prototypes and variables.
  Removed dead variables debug_flags and cpu_cache.
  Removed some unnecessary cache syncs.
  Only sync the first 64 bytes after setting up the vectors.
  Removed all the boot argument checking code and instead call the
  generic ARM boot argument checking code parse_mi_bootargs() in machdep.c
  Fixed the ofrootfound() function so that it builds.
1998-06-24 18:50:56 +00:00
mark 7594278206 Cleanup time:
Fix code indenting.
  Removed a load of unnecessary includes.
  Removed unnecessary prototypes and variables.
  Removed dead variables debug_flags and cpu_cache.
  Removed some unnecessary cache syncs.
  Only sync the first 64 bytes after setting up the vectors.
  Removed all the boot argument checking code and instead call the
  generic ARM boot argument checking code parse_mi_bootargs() in machdep.c
  Use the get_bootconf_option() function to check for the shark specific
  quiet and noquiet options.
1998-06-24 18:49:12 +00:00
mark b3354a2d24 Removed unused variable from setstatclockrate().
Removed unused static variable statclockirq.
Removed the old commented out irq_claim() code (supplanted by intr_claim())
1998-06-24 18:43:44 +00:00
mark 720b93f1c9 Removed pagetables_start, debug_flags, cpu_cache and cpu_ctrl as these
are dead variables.
Removed initialisation of cpu_cache.
Declared process_kernel_args() as static.
1998-06-24 18:41:35 +00:00
mark 398bab14be Removed pagetables_start as this is a dead variable.
Declare process_kernel_args() as static.
1998-06-24 18:40:10 +00:00
mark 86e861d49f Rename the boot() prototype to cpu_reboot().
Remove consinit() and process_kernel_args() prototypes.
1998-06-24 18:37:49 +00:00
mark 9f161ebe94 Remove pagetables_start and the associated memory allocation. L1 page
tables are allocated by the pmap code so this allocation is just wasting
memory.
1998-06-24 17:18:09 +00:00
sommerfe 446beb9dc4 defopt COMPAT_386BSD_MBRPART into opt_mbr.h 1998-06-22 21:12:51 +00:00
tv f7eef89222 Kill no longer necessary CACHE_CLEAN_VM option. 1998-06-21 23:40:12 +00:00
tv 339cefc763 Integrate Mark's CACHE_CLEAN_VM C implementation, taken away from
cpufunc_asm.S.
1998-06-21 23:23:40 +00:00
mark 522eff7069 Fix unused variable warning in csCopyTxFrame() when DIAGNOSTIC is not
defined.
1998-06-20 20:38:33 +00:00
tv 9018330f63 Make pc0 and ofcons0 mutually exclusive, for now. 1998-06-19 18:29:31 +00:00
tv ba144108f6 Bring shark includes to mainline and nuke the branch. 1998-06-19 15:55:13 +00:00
mark 490b5a5419 Removed userret_count diagnostic bits as these are outdated. 1998-06-18 22:34:39 +00:00
mark 7d99120c16 Don't build in the ARMFPE by default.
Removed a load of irrelevant or redundant options.
Added a couple of extra filesystems (disabled).
1998-06-18 22:32:33 +00:00
tv ef5c9d214c Don't configure ofcons by default. 1998-06-18 17:39:17 +00:00
mark ed346cc16a Removed the kcopy() function as this is now implemented in bcopyinout.S. 1998-06-17 20:14:07 +00:00
mark 2aab040047 Major overhaul. Rewritten most of this file to optimise copyin() and
copyout() for 32 bit aligned addresses. Also copyin() and copyout() now
share the same actual copying code.
Use the same copying code to implement kcopy().
1998-06-17 20:13:38 +00:00
mark 138ccaa418 Rewritten and cleanup the file.
Share the string copying code between copyinstr() and copyoutstr().
1998-06-17 20:10:39 +00:00
mark de3485d454 Merge in SHARK specific bits to initialise the sequoia, rtc and
attach the OFW devices.
1998-06-17 19:40:50 +00:00
mark 841b858742 Define interrupt information for SHARK. 1998-06-17 19:36:33 +00:00
mark a27bae87fb Define _BootConfig structure for OFW based booting. 1998-06-17 19:35:24 +00:00
mark c5d3e05292 Implement debugger Openfirmware commands ofboot, ofenter and ofexit.
Calculate esym slightly differently on SHARK or OFWGENCFG based
configurations.
1998-06-17 19:33:37 +00:00
mark 27ed02bef1 Implement debugger OFW commands ofboot, ofenter and ofexit. 1998-06-17 19:31:44 +00:00
mark 3d9f37a664 Don't try and dump IRQ mode stack with Generic OFW config. 1998-06-17 19:29:28 +00:00
mark 2c44cea3ba Added console probe and init functions so serial consoles are supported
serial ports via the pioc.
Removed redundant header files.
1998-06-17 00:37:00 +00:00
kleink 1fbd0b3749 GC the unused `physadr' type, which was not able to hold a complete physical
address on 2 architectures anyhow.  Also, move the definition of the `label_t'
type inside _KERNEL protection, since it is specific to the in-kernel
setjmp()/longjmp() implementations.
1998-06-14 20:09:22 +00:00
tv 254edea7e0 Merge Shark/OFW changes for device configuration. 1998-06-12 23:59:22 +00:00
tv cb168e274b Add to mainline. 1998-06-12 23:29:27 +00:00
cgd 651b44e211 Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install.  (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.)  The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change.  Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
tv 67856105fa Merge RiscPC and Shark files; now all machines will make the proper device
config files.
1998-06-12 23:21:53 +00:00
tv 49fd1860fe Add UVM support. 1998-06-12 23:08:52 +00:00
tv 11e9a04748 Add a hack to make the ofisa.o compile using the old MD isadma code, for
now.
1998-06-12 21:07:44 +00:00
tv 7ea013ce82 Include "pc.h" and check NPC - allows ofcons to be the system console. 1998-06-10 21:55:30 +00:00
tv 00ede2160e Change ddb_init() for a.out to provision for kernels which are not booted by
the current 'bootblock' method, like the Shark, which preloads and preformats
the symbol table right in the boot code.
1998-06-09 01:57:41 +00:00
tv 5ba723ecf2 Cleanup: move {SWAP,DEV,VNODE}PAGER to std.arm32; required for Mach VM, and
happily ignored by UVM.
1998-06-09 01:15:48 +00:00
mark 4c80d03830 Remove several cache invalidation instrcutions from routines like
sa110_context_switch() as they are not needed.
1998-06-09 01:02:14 +00:00
tv 46565ac270 Add disksubr_acorn.c as well. These could likely be changed to use kernel
options, but this gets the kernel at least to compile, link, and work.
1998-06-09 00:39:47 +00:00
tv b4511c9330 Add disksubr_mbr.c dependent on `disk'. 1998-06-09 00:31:23 +00:00
tv 8f428e3872 Kill non-NetBSD RCS tags. 1998-06-08 20:23:07 +00:00
mark 0f5f9c0221 Added support for DOS MBRs in addition to filecore boot blocks from
Chris Demetriou. Filecore and MBR handling has been split out into
separate files. Still needs some work before this could become MI.
Also fix the way in which arm32 filecore checksums are calculated so
that sectors filled with the same byte will not pass the checksum.
1998-06-08 20:21:17 +00:00
tv f19cf41458 Add rcsID. 1998-06-08 18:18:58 +00:00
tv ae1b70e048 ISA shark-dependent code. Missed this file on last commit. 1998-06-08 18:18:11 +00:00
tv ee69a0b0a0 Add ISA support needed for Shark and the CATS board (CATS isa_machdep not
here yet).
1998-06-08 17:49:42 +00:00
mark c6d1832868 Include all the correct header files to get the prototypes of all the
soft net interrupt functions.
Handle NETISR_NATM soft interrupts.
1998-06-04 17:45:50 +00:00
mark 61298c0cbf Type postmortem_active as an int. (Pointed out by Patrick Welche). 1998-06-04 17:44:18 +00:00
thorpej 2e846b8c1e Sync w/ i386 port. 1998-06-03 04:20:22 +00:00
mark 2c1cbdae75 Moved delay() from machdep.c to iomd_clock.c as delay will be dependant
on the system timers being used.
1998-06-02 21:57:58 +00:00
mark bdfeab3714 Merge in UVM support from Neil Carson <neil@causality.com>. 1998-06-02 20:41:46 +00:00
mark 0618ed7122 Define the maximum size of the kernel VM data area. 1998-06-02 20:33:01 +00:00
mark ea702a5130 Switch to MACHINE_NEW_NONCONTIG as the default. 1998-06-02 20:32:18 +00:00
mark 4ee7a131ad Don't allow the copyin and copyout routines to use bcopy() as this will
not work as the stack cannot be unwound if the copy aborts due to a fault.
1998-06-02 19:14:44 +00:00
mark 9a4b24a02a Simplify the stack filling code when using the STACKCHECKS option. 1998-06-02 14:34:55 +00:00
mark 09a9c016e3 Added Manuel Bouyer's recent i386 _bus_dmamap_load_buffer() patch :-
Add handling of DMA boundary barrier in _bus_dmamap_load_buffer(). This
affects all bus_dmamap_load* functions of bus_dma(9).
While I'm there fix a bug where the dm_segs array could be overflowded by one.
1998-06-01 22:47:27 +00:00
thorpej a7f360c6c9 Specify a non-profiling C rule. 1998-05-31 23:25:41 +00:00
tv ed42c358fd Revert. (wdc driver is still MD.) 1998-05-26 01:42:53 +00:00
mark 3a61502673 Initial commit of arm32 dependant PCI structures and type definitions. 1998-05-25 22:09:25 +00:00
mark 0b9fa28940 Initial commit of generic arm32 bus dma support. 1998-05-25 22:01:49 +00:00
kleink a97fc2f180 If any of _ANSI_SOURCE, _POSIX_C_SOURCE or _XOPEN_SOURCE are defined, don't
provide any identifiers other than sig_atomic_t.
1998-05-25 20:59:01 +00:00
tv 6cdddb35ee Don't duplicate device information: get ISA and ATAPI info (which is the
same) from dev/isa/files.isa and dev/ata/files.ata.
1998-05-25 04:32:12 +00:00
mark 073de471d7 Remove M68040 ifdefs from the driver inherited from the initial import
of the file from the arch/amiga/dev directory.
Leave reminders though that attention needs to be paid at these points
for when DMA is implemented.
1998-05-24 18:19:29 +00:00
mark 8ef62973c1 Comment out the rp variables as they are not currently used.
Removed the register keywords.
In setdisklabel() declare 'i' as an int.
1998-05-24 17:13:30 +00:00
cgd a2c213c028 fix code so that a 'generic' OFW kernel (which only uses OFW drivers)
will again compile.  This code needs a bunch of cleanup, and the
"generic OFW kernel" code should probably be split into a different
directory than the code which implements the interface to OFW.
1998-05-22 17:43:10 +00:00
thorpej 6626878e7b It is no longer necessary for pmap_pinit() and pmap_release() to be
pmap interface functions, as NetBSD no longer uses statically allocated
pmaps (except for the kernel pmap, which is special-cased anyhow).
1998-05-19 19:00:11 +00:00
mark 82d14dbeb2 Add MACHINE_NEW_NONCONTIG option. 1998-05-08 23:40:20 +00:00
mark f7eafd6679 Remove the standard option MACHINE_NONCONTIG. 1998-05-08 23:36:47 +00:00
mark a76affde1d Add MACHINE_NEW_NONCONTIG support. 1998-05-08 23:36:08 +00:00
mark d4a8f4cf29 Commit MACHINE_NEW_NONCONTIG support based on Chuck's conversion notes. 1998-05-08 23:34:00 +00:00
mark 7de24625c1 The reset address is no longer fixed so don't refer to it as 0x00000000. 1998-05-08 23:25:31 +00:00
mark a13ca3b4d2 Don't declare variables as register ...
Don't cast pointers to u_int for printing, use %p instead.
Minor restructure of curproc == NULL test in ast().
1998-05-08 23:24:08 +00:00
mark 51ce82ec50 Don't include machine/vmparam.h. 1998-05-08 23:21:31 +00:00
kleink 687ea7404c Fix some arithmetics lossage on typeless pointers. 1998-05-08 16:55:15 +00:00
kleink aa36ad1f55 Fix some arithmetics lossage on typeless pointers. 1998-05-07 21:01:41 +00:00
cgd dd0142f10f add NetBSD RCS IDs and delete other RCS keywords, per the standard style. 1998-05-01 21:18:39 +00:00
cgd c0c21ff62f clean up some warnings, adapt to the changed state of the world. 1998-05-01 21:14:46 +00:00
cgd 5317573641 adapt to OFW code changes 1998-05-01 21:13:53 +00:00
cgd 2fb206b0cf clean up, get it closer to compiling. (Note that this change includes
a change marked XXX, where gcc -Wall pointed out a bit of the original
code that looked wrong.  The jury's still out on whether or not it was
really wrong, but it looked _very_ suspicious.)
1998-05-01 21:13:02 +00:00
cgd 77e035bc38 kill bogus file 1998-05-01 21:11:34 +00:00
cgd 72797e4632 Import sys/arch/arm32/{shark,ofw} bits of the Digital Network Appliance
Reference Design NetBSD source code, obtained from the pages under
http://www.research.digital.com/SRC/iag .  Some of this code (badly)
needs to be cleaned up, and as-is it doesn't compile.  However, getting
it in the tree is a start.
1998-05-01 21:08:55 +00:00
mark c1a332e5f7 Use a separate variable to indicate whether the fault is from USR mode
or not rather than orring in a USER bit into the fault code variable.
This simplifies the fault switch statement and some of the addition
checks that are made of the fault code.
Move the printing of data abort information out into a separate function
rather then duplicating a lot of similar printf() statements.
Removed the fault_code variables from the prefetch abort handler as it
is not actually used for anything.
1998-05-01 15:44:51 +00:00
mark 782906b214 Remove inclusion of sys/device.h 1998-05-01 15:36:30 +00:00
mark 865f2563e1 Remove inclusion of sys/device.h
Declare exception_errors as const.
1998-05-01 15:35:43 +00:00
mark 07a0c680a7 Define the cpu_softc structure here.
Include armfpe.h to get the prototype for initialise_arm_fpe().
1998-05-01 15:33:42 +00:00
mark cce74dbcca Remove the definition of the cpu_softc structure from here. 1998-05-01 15:32:55 +00:00
mark 94a7e32beb Edited and added various comments. 1998-05-01 15:30:54 +00:00
mark 7c867905c5 Major overhaul of pagetable handing.
Page tables no longer occupy space in the processes vm_map. This
  means that page tables can now be allocated from pmap_enter() when the
  first entry is made in the page table rather than relying on taking
  a section fault and faulting in a page table. This also lowers
  the overheads in creating and deleting page tables and simplfies
  cpu_fork().
  A result of this change is that problems with mapping zero page and
  an associated pagetable when execing from a shared vm_map disappear
  fixing PR5178.
1998-04-30 21:22:00 +00:00
mark 773c8defa1 Removed several un-necessary includes. 1998-04-30 21:01:30 +00:00
thorpej 1686aca01d Pull in opt_gateway.h as appropriate. 1998-04-29 23:11:00 +00:00
kleink a53c1863fe Provide definitions for intptr_t and uintptr_t, signed resp. unsigned integral
types large enough to hold any pointer.
1998-04-27 17:39:10 +00:00
mark 7782adb98e Use r12 as a temporary register in setrunqueue() and remrunqueue() as it
does not need to be preserved across function calls. This means the use
of r4 can be eliminated thus saving a stack push and pop for r4.
1998-04-20 17:27:30 +00:00
mark ad8c2a5654 Fix the indenting of the comments in this file. 1998-04-19 23:37:22 +00:00
mark 7c57681a0b Guard several more abort information printf() calls with the
verbose_faults variable in the prefetch abort handler.
Remove a lurking spltty() just before a panic in the prefetch abort
handler.
1998-04-19 23:25:49 +00:00
mark 05a669badb General file cleanup. Grouped all the un-handled fault cases together
to share one panic string. Removed a number of postmortem() calls.
Use verbose_faults variable to dictate the printing of fault information.
In several address validation checks, reorder the conditions for more
optimial checking.
1998-04-19 23:18:45 +00:00
mark 98576781d3 Remove conditional compilation from around the exception handler
interrupt enables.
Remove the counting of the use of pcb_onfault.
Removed CONTINUE_AFTER_SVC_PREFETCH and associated code.
1998-04-19 22:45:39 +00:00
mark 66d1783927 Remove conditional compilation from around the exception handler
interrupt enables.
1998-04-19 22:43:27 +00:00
mark 464caff246 Since the kshell stuff is no longer ever built into the kernel,
the last possible hooks having been removed from rpc_machdep.c
and its use has been deprecated for a long long time lets finally
axe it.
1998-04-19 04:48:31 +00:00
mark 569be6d488 Change definitions of MCOUNT_ENTER and MCOUNT_EXIT to block interrupts
via the CPSR rather than via splhigh() due to the overheads involved
in using splhigh()/splx(). (From Chris Demetriou).
1998-04-19 04:16:25 +00:00
mark fcc1093bee Define bus_space_map flags BUS_SPACE_MAP_CACHEABLE and BUS_SPACE_MAP_LINEAR.
Comment arm32_bus_dma_segment structure members.
Remove the _dm_loadlen field from the arm32_bus_dmamap structure.
1998-04-19 04:13:24 +00:00
mark 47ec8f3afc Validate the source address in db_read_bytes() to avoid faulting when
reading invalid addresses.
1998-04-19 04:05:24 +00:00
mark 9bbde6c952 Overhaulled cpu_reboot(). Junked all the boot action garbage and just use
howto to dictate what operations to perform.
Removed support for calling the deprecated kshell stuff.
Cleaned up a few bits of dead code and renamed rpc_sa110_kickstart() to
rpc_sa110_cc_setup().
1998-04-19 03:59:19 +00:00
mark 33b4b52949 Define the prototypes for rtc_read() and rtc_write() here rather than
in machine/rtc.h
Update the rtc_read() and rtc_write() functions to take a private pointer
as the first argument (currently unused).
1998-04-19 03:55:44 +00:00
mark 1f5455aaaf Update the softc to hold the rtc_{write,write}() argument and update
the function pointer prototypes.
Pass the rtc_arg field as the first parameter when calling the todclock
rtc_{read,write} function pointers.
1998-04-19 03:54:24 +00:00
mark c4f9d5c4b0 Add a rtc argument field to the todclock_attach_args structure.
Update the ta_rtc_{read,write}() functions in the todclock_attach_args
structure to take an argument attach time defined argument field as the
first argument.
1998-04-19 03:51:44 +00:00
mark 15901d1be3 Remove rtc_read() and rtc_write prototypes. 1998-04-19 03:49:17 +00:00
mark effb702da4 Don't explicitly call the debugger on a reset exception. Just print
trap frame address and panic.
1998-04-19 03:41:14 +00:00
mark f9042ff05b Guard the PS/2 mouse attachment and ARM7500 IOC check with the
CPU_ARM7500 macro.
1998-04-17 18:44:09 +00:00
tv b21bfbde11 Add -Wno-main conditional on compiler being gcc 2.8 or egcs. (This adds
a HAVE_GCC28 check-variable that can now be used to add other gcc-2.8
flags in cases where they may be useful, or to remove gcc 2.7.2 "bug
workaround" flags.)
1998-04-12 23:47:41 +00:00
cgd edcb9b60e1 current_spl_level should be initialized to _SPL_HIGH. 1998-04-10 20:29:02 +00:00
mark af29a19dd0 Fix the interrupt number for the PS/2 mouse port on the ARM7500
(from David Forbes).
1998-04-10 06:54:30 +00:00
mark 447623df53 Correct the values of IOMD_MSDATA and IOMD_MSCR as they are 4 times too
big. Spotted by David Forbes.
1998-04-10 06:53:08 +00:00
mark 3d26c2dbf1 In cpu_fork() if the vmspace is shared don't fiddle with it. e.g. don't
try and replace the zero page pagetable and mapping.
1998-04-03 01:58:40 +00:00
mark d6fb052cdd Setup proc0.p_addr much earlier on in the startup. 1998-04-03 01:56:34 +00:00
mark 27af7137f4 Overhaulled cpu_reboot(). Junked all the boot action garbage and just use
howto to dictate what operations to perform.
Removed support for calling the deprecated kshell stuff.
1998-04-02 02:01:13 +00:00
mark ac4c80ec10 Include machine/asm.h and use the ENTRY() macro for all function entry
points.
1998-04-01 23:14:21 +00:00
mark 90a05fec98 Tidied up various comments. Use the function entry macros from asm.h for
all entry points and don't bother profiling cpu_reset().
Flush the I and D TLB's after turning the MMU and cache off in cpu_reset().
1998-04-01 23:12:32 +00:00
mark b2286e384a Include machine/asm.h and use the macros from there for declaring
the function entry points.
Removed some redundant .req statements.
1998-04-01 23:09:06 +00:00
mark a877b68db5 Don't include sys/device.h here. 1998-04-01 23:05:28 +00:00
mark f0393b3819 Remove a chunk of dead comments as they appears in disassem.c where
they make a lot more sense.
1998-04-01 23:04:16 +00:00
mark 4a96466f61 Remove redundant .req assembler statements. 1998-04-01 23:02:32 +00:00
mark eb81ac0bbc Remove a load of redundant .req statements. 1998-04-01 23:00:13 +00:00
mark ae5c857ba4 Remove redundant .req statements.
Make various entry points non-profiling.
1998-04-01 22:59:25 +00:00
mark fd18f1a45b Remove some redundant .req statements. 1998-04-01 22:55:45 +00:00
mark 077c15ab4d Remove some redundant .req statements.
Make various entry points non-profiling.
1998-04-01 22:55:05 +00:00
mark 268d889d0d Make the floppy_read_fiq and floppy_write_fiq entry points non-profiling. 1998-04-01 22:53:32 +00:00
mark 7f98e08105 Remove some redundant .req statements. 1998-04-01 22:52:24 +00:00