Commit Graph

839 Commits

Author SHA1 Message Date
mark 5be47da72c Cleanup up and correctly indented lots of comments.
Removed all the VALIDATE_TRAPFRAME junk.
Generally spring cleaned the code.
1997-10-14 11:19:15 +00:00
mark 9065e731d6 arm32 kernel source retructure
- New versions of the drivers for the devices that really are IOMD
    specific. The old arm32/mainbus drivers have either been rewritten
    and are now child devices of the IOMD or they have been restructured
    and split into generic drivers will IOMD specific attachments.
1997-10-14 11:16:35 +00:00
mark f26efbb3d5 arm32 kernel source restructure
- These files are not generic or even really mainbus specific.
    They are IOMD specific device.
  - These devices have been re-written as child devices of the IOMD
    device and the new versions will take up residence in the arm32/iomd
    directory with the other IOMD specific code.
1997-10-14 11:13:20 +00:00
mark 480bd07ef8 arm32 kernel source restructure
- IOMD specific clock support. This used to the the generic ARM clock
    support but is now specific to the IOMD device.
  - Updated to support new IOMD device etc.
1997-10-14 11:09:56 +00:00
mark b841a746a6 arm32 kernel source restructure
- IOMD register definitions moved from arm32/include/
  - Updated for new IOMD device and all now base relative.
1997-10-14 11:08:45 +00:00
mark b478812b9b arm32 kernel source restructure
- Implement basic DMA support for the IOMD device.
1997-10-14 11:06:56 +00:00
mark 06d8713b3d arm32 kernel source restructure.
- IOMD specific interrupt handling. These files are mainly the old
    arch/arm32/irq* files moved here and updated for new iomd device etc.
    (revision history maintained).
1997-10-14 11:05:58 +00:00
mark 59b6709696 arm32 kernel source restructure
- Create an independ IOMD device that can be utilised by all ARM
    architectures that use an IOMD.
  - Configure all IOMD child devices based on the IOMD type and features.
1997-10-14 10:58:48 +00:00
mark a567ef9bf4 arm32 kernel source structure
- RiscPC specific keyboard mapping information. This used to be
    conditional code in the keyboard driver.
1997-10-14 10:55:48 +00:00
mark b6ee6c1e1d arm32 kernel source restructure.
- Separated the RiscPC specific boot/initialisation code from
    arm32/machdep.
1997-10-14 10:54:35 +00:00
mark 09a3b914e4 arm32 kernel source restructure
- RC7500 specific keyboard mapping information. This used to be
    conditional code in the keyboard driver.
1997-10-14 10:52:39 +00:00
mark efe2e7e6cd arm32 kernel source restructure
- RC7500 machine dependant code. This contains the RC7500 specific
    initialisation code that used to be in arm32/machdep.c
1997-10-14 10:51:39 +00:00
mark 7a8e498fd3 arm32 kernel source restucture.
- New home for RC7500 prom files.
1997-10-14 10:49:53 +00:00
mark dc8e90583d arm32 kernel source restructure
- These files have moved (with revision history) to the RC7500 specific
    directory.
1997-10-14 10:48:19 +00:00
mark 90d4f588a0 arm32 kernel source restructure
- Moved from arch/arm32/arm32 to IOMD specific home retaining history.
1997-10-14 10:40:27 +00:00
mark 258b4c88c5 Cleaned up and indented a lot of comments.
Removed the VALIDATE_TRAPFRAME junk.
Use the definitions in machine/trap.h for the breakpoints.
1997-10-14 10:28:07 +00:00
mark 8075222122 Remove a load of control characters lurking in printf statements.
Most of this file is now destined for the scrap heap.
1997-10-14 10:26:56 +00:00
mark 4bb8bfc3e6 Handle requests for reading and writing the FP registers when no
floating point emulator is compiled in - Ignore the write and return
zeros for the read.
1997-10-14 10:25:48 +00:00
mark b5a19b0a33 Removed the soft interrupt code that now resides in intr.c
Minor code cleanups.
1997-10-14 10:22:01 +00:00
mark 6bc5d93ea6 Implement arm32_drain_write_buffer sysarch() call. 1997-10-14 10:20:48 +00:00
mark 227ca87739 Clean up a few label declarations. 1997-10-14 10:18:45 +00:00
mark 4280862834 This is now just a front end to the general purpose disassembler
in disassem.c
1997-10-14 10:18:02 +00:00
mark c54b8cd7c1 Only flush specific TLB entries after modifing page table entries.
Recognised conditional breakpoints.
SHow the ABT, UND and IRQ mode stack pointer registers in register dumps.
Couple of minor fixups.
1997-10-14 10:16:39 +00:00
mark b9beefc137 Stablised the trace() command. Don't try and trace things that are
obviously not a stack frame.
1997-10-14 10:12:04 +00:00
mark cb5b2b1176 Removed a couple of blank lines. 1997-10-14 10:11:06 +00:00
mark 89f95aa87f Remove explict profiling calls for assembly functions.
Use machine/asm.h macros for declaring assembly functions.
Cleaned up a few comments.
1997-10-14 10:09:46 +00:00
mark c3d0f4999d Added ARM8 CPU support.
Improved SA110 cache cleaning.
Use the macros in machine/asm.h for function declarations.
1997-10-14 10:07:34 +00:00
mark c199ce39e2 Added ARM8 support.
Added support for cpu specific prefetch abort handlers.
Cleanup CPU fault correction code.
Implement generic handling of CPU boot options.
1997-10-14 10:05:39 +00:00
mark f6fc0e468a Move the random device to major 52 as major 50 is already spoken for.
Support a com device as a console.
1997-10-14 10:02:49 +00:00
mark 6cf0deab5f Removed unused variable pamp_debug_level.
Dump the spl masks during configure when printing the ipl levels.
1997-10-14 09:59:40 +00:00
mark b101d67f67 Removed the VALIDATE_TRAPFRAME junk. 1997-10-14 09:58:14 +00:00
mark c7ea5541dc Use the macros defined in machine/trap.h for breakpoint information.
Make sure the cache in synchronised when modifying memory.
1997-10-14 09:57:28 +00:00
mark 08970e572c Use the macros defined in asm.h for all assembly function declarations. 1997-10-14 09:54:31 +00:00
mark eb81503cb0 arm32 kernel source restructure
- Debugged so mis-disassembled instructions.
  - Change the main disassembled so that the function to use for
    printing can be passed in as an parameter.
  - Provide wrappers for disassembling using the standard kernel
    printf() and db_printf()
1997-10-14 09:35:32 +00:00
mark cf50b3771f Optimised version of in_cksum(). This started life as the sparc one
and then had the inline assembly replaced.
1997-10-14 09:32:29 +00:00
mark 270cc3f864 New file to handle the ARM generic software interrupts etc. in the
restructured sources.
1997-10-14 09:31:14 +00:00
mark a18400067c arm32 kernel source restructure
- These files are IOMD specific and as such are moving to the IOMD
    specific directory arch/arm32/iomd
1997-10-14 09:28:06 +00:00
mark 16ef9e8936 arm32 kernel source restructure.
- This file is VIDC specific and is moving to arch/arm32/vidc/
1997-10-14 09:25:13 +00:00
mark 153bcb135c arm32 kernel source restructure.
- This file is IOMD specific and as such has moved to arch/arm32/iomd/
1997-10-14 09:22:45 +00:00
mark fb9c150c48 arm32 kernel source restructure
- Most changes are comment cleanups.
  _ iomd.h is no longer an exported header.
  - Added intr.h for MI interrupt definitions.
  - Added definitions for ARM8 cpu.
  - Added bus dma support.
1997-10-14 09:19:59 +00:00
mark cc6030f45b List the new random device. 1997-10-14 09:06:52 +00:00
mark 40648232db arm32 kernel source restructure
- Moved with revision history to kshell/kshell_debug.c
1997-10-14 09:02:58 +00:00
mark 1f128863e3 arm32 kernel source restructure
- Renamed files with previous revision history maintained
  - Minor changes for restructure.
1997-10-14 09:01:37 +00:00
mark 9a761f480a arm32 kernel source restructure
- These files are being renamed.
1997-10-14 08:00:34 +00:00
mark b360e67c2e arm32 kernel source restructure
- Removed explict profiling calls from the assembly routines
  - Use the *ENTRY() macros on all assembly functions.
  - Clean up exception strings.
1997-10-14 07:56:48 +00:00
mark 05a00dc8d4 arm32 kernel source restructure
- These files are moving home.
1997-10-14 07:49:19 +00:00
explorer 80513cb5ae o Make usage of /dev/random dependant on
pseudo-device   rnd                     # /dev/random and in-kernel generator
  in config files.

o Add declaration to all architectures.

o Clean up copyright message in rnd.c, rnd.h, and rndpool.c to include
  that this code is derived in part from Ted Tyso's linux code.
1997-10-13 00:46:08 +00:00
mark 26671f6e12 Removed the commented out FPE option as this has not been used for a
couple of years.
1997-10-12 21:34:30 +00:00
mark 296f0c6a2d Removed the fpe-sp files as we have not built them for about 2 years now. 1997-10-12 21:32:55 +00:00
mark d8e68d4976 This code is so dead it should have been removed a year ago. 1997-10-12 21:31:42 +00:00
mark 96e18bb7fb Removed as these functions are now in libkern. 1997-10-12 21:28:38 +00:00
mark b6486b8e44 Removed files memset.S and bcopy.S as these are now in libkern. 1997-10-12 21:27:44 +00:00
mycroft 3081c6f8cf AudioC[A-Z] -> AudioC[a-z]
AudioElinear -> AudioEslinear
1997-10-11 12:43:51 +00:00
mycroft 20b05a6bc4 Make these closer to working. 1997-10-11 09:10:25 +00:00
bouyer 6ab3092b11 Add byte-swapping functions (bswap16, bswap32, bswap64) to libkern.
Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses
bswap32). Contribution of assembly versions of these are welcome.
Add byte-swapping of ext2fs metadata for big-endian systems.
Tested on i386 and sparc.
1997-10-09 15:42:19 +00:00
thorpej e3834cc351 Implement DIOCGDEFLABEL. 1997-10-08 23:37:50 +00:00
mark 6a8334e84e Change p_vmspace->pmap references to p_vmspace->vm_map.pmap so that
we no longer need __VM_PMAP_HACK.
1997-10-06 01:12:05 +00:00
mark ac03dfe307 Change p_vmspace->pmap references to p_vmspace->vm_map.pmap so that
we no longer need __VM_PMAP_HACK.
1997-10-06 01:12:03 +00:00
mark 7483a0a6ba Change p_vmspace->pmap references to p_vmspace->vm_map.pmap so that
we no longer need __VM_PMAP_HACK.
1997-10-06 01:12:01 +00:00
mark c4ca3a48de Changed VM_PMAP reference now that is is a pointer rather than an address. 1997-10-06 00:49:34 +00:00
mark 623bc2b574 Change vm_pmap reference to vm_map.pmap now we have dropped __VM_PMAP_HACK. 1997-10-06 00:47:34 +00:00
mark 84e72a4ba0 Removed __VM_PMAP_HACK
Added a couple of reserved field to the pmap structure.
1997-10-05 22:59:36 +00:00
mark 9461d08a78 Define a new sysarch call number ARM32_DRAIN_WRITEBUF that can be used
to drain any CPU write buffer.
1997-10-05 22:58:26 +00:00
mark 3b844ee813 Cleaned out some old junk.
Enabled .type directive in the ENTRY() macro.
1997-10-05 22:51:05 +00:00
mark 9752ea1553 Define the new format of a setjmp buffer.
Define macros for the magic numbers and for the various field.
1997-10-05 22:48:19 +00:00
lukem 7d508b124f define SIZE?=size, and use ${SIZE} instead of size. makes cross
compilation easier
1997-10-03 07:17:00 +00:00
christos 3996b53189 PR/4162: Chris Jones: make cleandir does not work properly; it does not
remove the object files and the .depend file in the kernel build directory.
1997-09-30 22:39:49 +00:00
leo d4713d24c2 Implement the kernel part of pr-1891. This allows for a more flexible sized
msgbuf. Note that old 'dmesg' and 'syslogd' binaries will continue running,
though old 'dmesg' binaries will output a few bytes of junk at the start of
the buffer, and will miss a few bytes at the end of the buffer.
1997-09-19 13:52:37 +00:00
mycroft 16a8787248 Fix execve(2) and *setregs() interfaces so emulations can set registers in a
more correct way.  (See tech-kern.)
1997-09-11 23:01:44 +00:00
bouyer 6f3bab1f59 Merge scsipi branch in the mainline. This add support for ATAPI devices
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
1997-08-27 11:22:52 +00:00
augustss 6616d47838 - Change audio_hw_if a little: set_param now sets the play and record modes
at the same time instead by using two different calls.  This enables
  it to check more easily if the combined mode is all right.
- Improve the error checking in audio.c.
- Add a new audio property, AUDIO_PROP_INDEPENDENT, show if the
  play and record settings are independent.
- Fix some buglets in audio.c.
1997-08-24 22:31:23 +00:00
mjacob 6ac7f6248f add a before tab to SCSIVERBOSE 1997-08-23 19:16:06 +00:00
mjacob 1a7afa3853 add commented out reference SCSIVERBOSE option 1997-08-20 18:38:13 +00:00
augustss 332ad95e76 Change the MI audio driver so it attaches to the MD driver in the
normal way.  This requires adding a line to the config files to
get audio to work again.
1997-08-19 23:49:33 +00:00
mark 0efc44fd71 Cast the destination address for the cpu_cache_syncI_rng() function in
db_write_text().
1997-08-07 16:24:34 +00:00
mark fdcef230ca Added support for built in miniroot ramdisk. Define MINIROOTSIZE to be
the number of blocks to reserve for the ramdisk.
1997-07-31 23:13:12 +00:00
mark 4f2ae66cf0 Cleaned up mmmmap(). No point in trying to support mmap of /dev/kmem since
physical addresses could be in transit.
1997-07-31 23:02:24 +00:00
augustss 658656bb99 Audio changes:
- Change the way attach and open works to allow multiple audio
	  devices.
	- Split the mulaw.c file into two to avoid dragging in mulaw
	  convertsion when they are not needed.  Add 16 bit alaw/mulaw tables.
	- Change the way audio properties are gotten.
	- Recognize more versions os SoundBlaster.
1997-07-31 22:33:08 +00:00
mark 6c440cc51b Support kernels up to 4MB in size (was 2MB) in initarm().
Removed some un-necessary cache synchronisations.
Call the cpu_sleep() function in an infinite loop in halt().
Removed the long dead swap specifier from rc7500 initarm().
1997-07-31 02:59:06 +00:00
mark 3f42259896 If MEMORY_DISK_IS_ROOT is defined don't bother to compiling in the code
to extract the root filesystem name from the bootargs.
1997-07-31 01:11:33 +00:00
mark 67130a7f8d Added dev/clock_subr.c to the files list. 1997-07-31 01:08:26 +00:00
mark 0e8ba1b90b Overhauled and updated to work with dev/clock_subr.[ch] 1997-07-31 01:08:01 +00:00
mark e375e0f448 Disable the reporting of the easi space timings. At podulebus attach time
the only timings we know are the ones inherited from the boot and the
drivers that will attach to the bus may change these.
Use the IS_PODULE macro for checking manufacturer and podule id's
against attach args.
1997-07-31 00:43:28 +00:00
mark 18b47c4129 Define an IS_PODULE() macro to match a podule manufacturer and id with
podulebus attach args.
1997-07-31 00:40:56 +00:00
mark d02fe01663 Comment out a load of special debug messages.
Fix the mappings of the L2 page table used to map the process page tables
so there there is no user access (was user read only access).
1997-07-31 00:36:55 +00:00
mark d50cd34639 Remove a dead version of the _MCOUNT_DECL macro. 1997-07-31 00:22:15 +00:00
mark 4d5984d00a When syncing memory and cache after modifing the text area sync only
the modified address range rather than the whole cache/memory.
1997-07-31 00:19:31 +00:00
mark 2319a993f9 Add specific checks for user space accesses to the page table area (just
above the stack).
1997-07-31 00:16:12 +00:00
mark 905a93b982 Removed several lines of unreachable code in eagetpackets().
Reset the interface every time an error is detected in eagetpackets()
otherwise the interface can end up in a jammed state.
1997-07-31 00:13:18 +00:00
mark 504ddabd38 Removed several lines of unreachable code in ebgetpackets(). 1997-07-31 00:09:48 +00:00
mark 57a231e4b6 Modified the cpu_cache_purge_ID() calls in pagemove(), vmapbuf() and
vunmapbuf(). If the address range involved is 4KB or less purge the
specific address ranges. otherwise purge the whole cache.
1997-07-31 00:08:04 +00:00
mark 50633bf9a8 Added calls to mcount() for the assembly functions here if GRPOF and
PROFILE_ASM are defined.
Added missing .data directive prior to the curpcb declaration.
Fixed the calling of the cpu sleep function in idle(). The sleep function
takes a single argument which is the sleep mode. This is currently unused
but 0 should be passed for future compatibility.
1997-07-31 00:03:54 +00:00
mark 9767e83757 If a transfer completes and we have performed a check sense, check the
sense code for zero and if found repeat the request sense. This solves
a bug in the sbic driver when accessing JAZ drives that results in
faulty sense data being returned following a transfer. A retry returns
the correct information.
This is probably showing up a more fundemental bug in the sbic driver
and will probably have to wait for a complete overhaul of the sbic
driver (planned) for a perfect fix.
Fix supplied by Rob Black <r.black@ic.ac.uk>
1997-07-31 00:00:12 +00:00
mark 258768a81d Use the cookie field in the podulebus tag (current unused) as a register
shift value thus making register more flexible.
Remove the absolute shift of 2 in all the podule read/write routines and
use the tag cookie (passed in r0) as the shift value.
1997-07-30 23:52:08 +00:00
mark 4e641ac6d1 Utilise the cookie field in the podulebus tag (currently unused) as a
register shift value.
For the podulebus_bs_tag structure set the shift to 2 (the current
hardcoded value in the actual read/write routines).
Use the cookie to provide the register shift in podulebus_subregion().
1997-07-30 23:49:54 +00:00
mark 74bac48941 In wdcprobe() fail if the iobase defaulted rather than being specified in
the locators.
In wdcprobe_internal() set the WDCF_32BIT flag if the data32 io handle
is set.
All transfers to and from the data register now check for softc flags
to see if 32 bit transfers are enabled i.e. reading drive parameters
and doing a dump will use 32 bit transfers as well.
1997-07-29 01:59:20 +00:00
mark 27646ce7d4 Keep note on when we are in postmortem() in order to avoid being
recursively called.
1997-07-29 01:37:30 +00:00
mark 02c17d67e3 Remove some redundant .global directives as ENTRY() macro includes
this anyway.
1997-07-29 01:20:34 +00:00
mark 0e187069c2 The cpu_cahce_*_rng() functions take a start address and a length rather
than a start address and end address so reflect this in the macros and
prototypes.
1997-07-29 01:18:29 +00:00
mark 716c89ccb2 Include locators.h for the definition MAINBUSCF_BASE_DEFAULT.
In the probe routines check the mainbus attach args mb_iobase field
to verify that the iobase did not default as an iobase address needs
to be specifically specified.
1997-07-28 18:07:03 +00:00