Commit Graph

950 Commits

Author SHA1 Message Date
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
mark d34422f375 In iicmatch() fail the probe if the mainbus attach args iobase is equal to
MAINBUSCF_BASE_DEFAULT as an explicit iobase must be specified.
In iicsubmatch() fail the match if the iic address locator defaulted.
1997-07-28 18:01:49 +00:00
mark 03409a1eb4 Pass MAINBUSCF_BASE_DEFAULT in the mb_iobase field if none is specified
in the locators.
In mainbusprint() only print the iobase if it is not the default.
1997-07-28 17:58:56 +00:00
mark 73d4af0688 Support a boot option asc.hostid= to allow the adapter target ID to
be set.
1997-07-28 17:56:27 +00:00
mark fc9ce1cfd8 Recognise both Icubed and Acorn versions of the EtherH netslot card as
they have different podule ID's.
Always attach the driver even if it appears to fail the tx test as there
appear to be a collection of cards around that will fail this tx test but
will actually work ok - This problem needs further investigation.
1997-07-28 17:54:07 +00:00
mark d910d89af8 Rebuilt from podules rev 1.6. 1997-07-28 17:48:45 +00:00
mark be04b11f72 Added various new podule manufacturer ID's and product ID's. 1997-07-28 17:47:53 +00:00
augustss d58bc6796f audio: Simplify handling of AUDIO_SETFD and committing of encoding mode. 1997-07-27 23:51:48 +00:00
augustss 9745684ebe Changes to the sudio system:
- It is now possible to handle devices that want "looping" DMA,
    e.g. the SoundBlaster correctly.  The WSS and SB drivers use this.
    To do this several new methods were introduced in audio_hw_if.
  - Different silence handling (forced by previous change).
  - The audio driver can now be mmap()-ed, but due to problems in
    the VM system only for writing for now.
  - The OSS (Linux) audio emulation takes advantage of some of the
    new features.
1997-07-27 01:16:32 +00:00
mark c025aad597 Implement __indr_reference macro. 1997-07-22 14:35:22 +00:00
mark 917e4bdd0b Implement inst_unconditional_flow_transfer as a macro. 1997-07-17 02:28:39 +00:00
jtk b4777471db use locator defines in "locators.h" to index cf_loc[] 1997-07-17 01:52:54 +00:00
jtk 47c4af3536 use locator defines in "locators.h" to index cf_loc[]
still to be done and/or decided not to be done: replace all *UNK uses in
mainbus code with the native names from locators.h
1997-07-17 01:48:35 +00:00
mark 00b3633e19 Disable the SUBDIRS= lines as we have no subdirs to build. 1997-07-16 02:46:37 +00:00
augustss 8727da130b In the name of backwards compatibility AUDIO_ENCODING_LINEAR has been
renamed AUDIO_ENCODING_SLINEAR and AUDIO_ENCODING_LINEAR reverts to the
NetBSD 1.2 sematics.  A kernel with COMPAT_12 defined will accept
AUDIO_ENCODING_LINEAR and treat it as before, without COMPAT_12 it
will be rejected.
1997-07-15 07:46:04 +00:00
mark ec553ec8c0 New version of the ARM FPE core built. This core does not have all the
builtin veneer code. Instead this veneer code has been moved to kernel.
This removes the need for any runtime fixups of the fpe.
1997-07-08 19:41:28 +00:00
thorpej 0404c01c46 #define DB_AOUT_SYMBOLS 1997-06-26 01:26:56 +00:00
thorpej 45097cab83 foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
from the disklabel accordingly.
1997-06-24 00:38:46 +00:00
pk f5bf0d3701 wdsize(): only call wdopen()/wdclose() if not already open, per the
current `openmask'.
1997-06-18 20:39:55 +00:00
mrg 552af779d2 bring mrg-vm-swap2 onto mainilne. 1997-06-12 15:46:19 +00:00
mrg dc6a98e92c bring mrg-vm-swap2 onto mainilne. 1997-06-12 15:09:23 +00:00
veego 6ab737a609 Initialize machine from MACHINE and machine_arch from MACHINE_ARCH. 1997-06-08 23:59:57 +00:00
veego de7e49a954 Add 'char machine_arch[] = "xxx";' for the new sysctl hw.machine_arch. 1997-06-06 23:26:01 +00:00
mark 323b20590a Remove some nasty casts in macros. This fixes problems accessing raw
partitions > 4GB in size.
1997-06-03 23:48:36 +00:00
gwr e2a58b69f7 Add #define __VM_PMAP_HACK as a temporary measure. 1997-05-16 21:35:30 +00:00
augustss e63a553175 Change the interface between high and lowlevel audio drivers again:
Set the encoding parameters slightly differently.
Remove the SW encoding/decodinf functions from this interface
and move them to the audio_parameter struct; this is both more efficient
and flexible.
1997-05-09 22:16:27 +00:00
augustss c4a52794f1 Convert to new orthogonal audio encoding scheme and implement
some of the new encodings.  The change to ioctl AUDIO_GETENC is
NOT backwards compatible.
1997-05-07 18:51:31 +00:00
mycroft 84bca5d679 Don't use _SUBDIRUSE outside of bsd.subdir.mk. 1997-05-07 17:28:47 +00:00
augustss 526ef2f618 Change the interface between the high and low level audio drivers
so that all audio encoding parameters are set at once.  This simplifies
the interface and make error checking easier.
1997-04-29 21:01:33 +00:00
christos e0443987e7 Add netatalk netisr 1997-04-02 21:48:55 +00:00
thorpej cb24b0200a Don't allocate mclrefcnt[]; it's dead and gone. 1997-03-27 21:01:20 +00:00
gwr 37b247edde Renames: /dumpconf/cpu_dumpconf/, /boot/cpu_reboot/ 1997-03-26 22:42:13 +00:00
gwr 71e43d14ab Move findroot/setroot stuff from configure() to cpu_rootconf(). 1997-03-26 22:38:40 +00:00
mark b28684079f Fix broken vidcaudio_set_format() prototype. 1997-03-25 05:09:01 +00:00
mycroft 7a55cafeeb Implement set_format. 1997-03-20 16:51:38 +00:00
mark 82de5bb16d Add missing ifp variable in eaintr() following new ARP merge. 1997-03-19 02:45:06 +00:00
mark e8e11b85c0 Fix missing bracket introduced in new ARP system merge. 1997-03-19 02:43:03 +00:00
is 07b064e02e New ARP system, supports IPv4 over any hardware link.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00
mycroft ac3b8b13b7 Don't share the silence block between devices. Make silence filling work for
more encodings, and make it device-independent.  From Lennart Augustsson, in
PR kern/3305.
1997-03-13 02:19:32 +00:00
mark 682f911197 Updated for latest major number allocations. 1997-03-07 03:30:46 +00:00
fvdl 115b6d92fa Define ALIGNED_POINTER 1997-02-24 23:16:53 +00:00
mark e5c684f608 Added lots more items. 1997-02-23 04:21:28 +00:00
mark c812c6e43d Do profiling if GPROF and PROFILE_ASM are defined. 1997-02-23 04:20:29 +00:00
mark 9675b132fa Updated to reflect the addition of the icside and rapide drivers. 1997-02-23 04:15:20 +00:00
mark 13f13977eb Since the setroot changes set_swap_device() is has been a dead function
so remove it.
1997-02-23 04:09:53 +00:00
mark a61dea1a59 Added files for the icside and rapide device drivers. 1997-02-23 04:08:49 +00:00
mark 4fbf5c86aa Clean and flush the instruction and data caches prior to turning of the
MMU in boot0().
This solves the problem of cache hits after the kernel has rebooted the
machine as even with the cache off hits will occur for data/instructions
already in the cache.
1997-02-23 04:05:19 +00:00
mark 045ff1df99 Initial commit of the rapide driver. This driver provides support for the
RapIDE32 EIDE interface podules.
This driver currently only support issue 2 podules.
1997-02-23 04:00:31 +00:00
mark a47555862b Initial commit of the icside driver. This driver provides support for
the ICS IDEA IDE interface podules.
1997-02-23 03:57:45 +00:00
mark 66f1f203e3 Synchronise with podules files. 1997-02-23 03:52:29 +00:00
mark 6c7cc537c9 Add ID for ANT EtherM network slot interfaces. 1997-02-23 03:51:19 +00:00
mrg 175166de6a comment PFIL_HOOKS as it is redundant (as an option) when used with ipfilter. 1997-02-18 21:10:19 +00:00
mark 6e638fd4fb Call mount() on function entry if both GPROF and PROFILE_ASM are defined. 1997-02-18 03:15:06 +00:00
mark ad178d5138 Limit valid numeric digits to between 0 and min(base, 9) inclusive so that
puntuation characters are not evaluated.
1997-02-18 03:12:15 +00:00
mark e4316a91d0 Rebuilt from podules file. 1997-02-18 03:08:59 +00:00
mark c569d5e23f Added new podule ID's for ICubed etherlan interfaces.
Fixed typo in A448 title string.
1997-02-18 03:08:04 +00:00
mark 83697fa8b9 Added a field sc_ixfer to the sfas_softc structure to allow the standard
sfas ixfer() routine to be overridden with a card specific one.
1997-02-11 03:33:46 +00:00
mark faec60a06c Add a define for the cpu_functions structure member cf_sleep. 1997-02-10 04:01:08 +00:00
mark 700a2e2041 Remove the code force the processor into a sleep mode during idle() and
instead call the sleep function defined in the cpufunctions structure.
1997-02-10 03:57:42 +00:00
mark 187f8c7c3d Remove local definitions of macros to push and pull trapframes and instead
include machine/frame.h to get these definitions.
1997-02-10 03:50:53 +00:00
mark 60cab4af5d Centralise the definition of the ASM macros used to push and pull and
trapframe and irqframe structures defined here top and from the stack.
1997-02-10 03:26:28 +00:00
mark 28203348d8 Process the parameters passed in the SYNC_ICACHE sysarch() call and just
sync the caches for the specified virtual address range.
1997-02-10 03:19:36 +00:00
mark 5f3ba778ab Define parameters for the arm32_sync_icache() function. 1997-02-10 03:14:22 +00:00
mark 51495d4bf1 Updated to work with the recent changes to the MI DDB code. 1997-02-04 07:15:46 +00:00
mark 6ec73b6227 Removed all the CPU_SA110 conditional compilation. All the cache
cleaning calls will now be indirected throught the cpu_functions
that will have the correct function pointers for the CPU in use.
All register fixup code following aborts has been removed and
instead a call to the cpu_*abt_fixup() routine is called instead
to provide the correct fixed based on the CPU type and abort mode.
1997-02-04 07:12:30 +00:00
mark 06f80904ec Set the sc_ixfer function pointer to the default sfas_ixfer() function
during initialisation if the pointer is NULL.
Use the sc_ixfer function pointer in the sfas softc when doing
immediate polled transfers.
1997-02-04 06:57:47 +00:00
mark 1715a217cf Removed the SA110 condition compilation and instead test the cputype
variable to determine what adjustment is required for the trace back PC.
1997-02-04 06:53:41 +00:00
mark 403608bdbb Add defines for the cpu_functions structure members cf_cache_purgeID and
cf_context_switch.
1997-02-04 06:51:34 +00:00
mark e626201c12 Adopt as standard, the instruction sequence for storing the trapframe that
includes the workaround from the SA110 STM^ bug. This allows one piece of
code to be used to store the trapframe on all CPU types.
1997-02-04 06:49:08 +00:00
mark f6570e9a78 Update for recent changes. Added options to support ARM6, ARM7 and SA110
CPUs in a single kernel.
1997-02-04 06:37:06 +00:00
mark c2a184bc45 Fix SA110 CPU ID. 1997-02-04 06:30:57 +00:00
mark 64c714c82c This configuration file is dead now that all ARM6/7 & SA110 CPUs are
supported in the one kernel.
1997-02-04 06:29:57 +00:00
mark 2f04af3ab0 This file is no longer needed as the functionally it provided is now
provided within cpufunc_asm.S
1997-02-04 06:24:27 +00:00
mark c2a2cba5dd Add Makefile as a dependancy cpufunc.o and cpufunc_asm.o 1997-02-04 06:19:08 +00:00
mark 663277e00c Simplify cpu option checks now that multiple CPU types are supported in a
single kernel.
1997-02-04 06:10:48 +00:00
mark f53ea9b979 Only include md_hooks.c if md AND memory_disk_hooks are defined.
Updated for changes in the cpu specific functions (addition of
cpufunc.c and cpufunc_asm.S and removal of coproc15.S).
1997-02-04 05:58:55 +00:00
mark ee02ce0401 Major overhaul of handling of CPU/MMU/TLB specific functions. This allows
different ARM CPUS with different cache architectures for example to be
supported in a single kernel.
        - All CPU/MMU/TLB specific functions are now held as function
          pointers in a cpu_functions structure defined in machine/cpufunc.h
	  All coproc 15 accesses, TLB flushing, cache cleaning/flushing
          and abort correction functions are now defined in this structure.
        - cpufuncs is a global structure that is setup during initarm()
          that holds all the function pointers for the booted CPU.
	- A global variable 'cputype' now defines the probed cputype.
        - All the existing functions for manipulating CPU specific features
          have been replaced with macros defined in machine/cpufunc.h
          that will call the appropriate function in the cpu_functions
          structure.
	- CPU functions are provided for selected CPU types (config options)
          and the appropriate cpu_functions structure is chosen during
          booting, based on the probed CPU type.
	- All the required functions for existing CPU types (ARM6, ARM7 and
          SA110) have been implemented.
1997-02-04 05:50:19 +00:00
mark fd6725ae88 Remove all the old do_mountroot() junk that was built into GENERIC kernels.
This code has been replaced with the more flexible MI setroot() code.
1997-02-04 05:47:56 +00:00
perry 19d153fc48 Nuke some options GENERIC residue. 1997-02-04 04:57:10 +00:00
perry 0b3a46d6b3 Nuke some GENERIC residue. 1997-02-04 04:31:55 +00:00
mark 7ef8e3bcd9 Fix declaration of the interrupt handler to match new prototype for IRQ
function pointers.
1997-02-04 02:23:35 +00:00
mark aab5efa574 Updated to use the new bus space interface code. Use a number of bus
space handles to describe the task file registers, aux register, 16 bit
data register and 32 bit data register.
The wdc softc structure has been moved to a separate file.
Added support for multiple attachments by separating the core of the
probe and attach functions from the mainbus probe and attach routines.
Added a new wdc flags 32_BIT so that the wd can determine 32 bit xfer
support from the wdc device.
1997-02-04 02:04:51 +00:00
mark 649a90497e No need to check for CPU_ARM7500 being defined as this option implies
CPU_ARM7 which has to be checked anyway.
1997-02-03 03:12:09 +00:00
thorpej 2ca27c5550 Garbage-collect "argdev". 1997-01-31 19:10:27 +00:00
thorpej 6ce149b26e Oops, missed an NFSCLIENT -> NFS. (grep is your friend) 1997-01-31 06:12:07 +00:00
thorpej 41a9e723e3 Adopt for new file system and root spec grammar. 1997-01-31 05:46:09 +00:00
thorpej 739f23a219 This file is obsolete; this information is now generated by config(8). 1997-01-31 05:12:49 +00:00
thorpej 24c607fc32 NFSCLIENT -> NFS 1997-01-31 01:46:49 +00:00
thorpej 1c705f35fd Use new machine-independent setroot(). 1997-01-31 01:46:23 +00:00
mark b371b8a271 Prototype main(). 1997-01-28 05:02:30 +00:00
mark 01b365e7a5 Use <machine/conf.h> for prototypes of the block and character device
functions.
1997-01-28 05:00:03 +00:00
mark a497e39048 Fix the declarations of the interrupt handlers to accept void * pointers
as the only argument and cast this as appropriate now that the function
pointers to the interrupt registration functions are fully prototyped.
Use <machine/conf.h> for the declarations of the device driver entry
points.
1997-01-28 04:55:15 +00:00
mark 844495ceb6 Use machine/conf.h for prototypes for device entry points.
Declare the cpuioctl() cmd argument as u_long rather than int.
1997-01-28 04:36:14 +00:00
mark ed854d0d12 Fix the declarations of the interrupt handlers to accept void * pointers
as the only argument and cast this as appropriate now that the function
pointers to the interrupt registration functions are fully prototyped.
1997-01-28 04:20:58 +00:00
mark ad1a9d7854 Now that the generic sfas code works fine under interrupts, disable polling
behaviour of the driver.
1997-01-28 04:10:47 +00:00
mark e1460d785b Add prototypes for match and attach functions. 1997-01-28 04:08:21 +00:00
mark ec6a28b4c7 Updated for new kernel library Makefile.inc changes. 1997-01-26 02:36:02 +00:00
mark 52ee4f3259 Updated to use the bus space interface. Pullup all the recent changes
to the ISA fd driver including the floppy formatting code.
1997-01-26 02:32:04 +00:00
mark dfb0662f21 Remove unused variables. 1997-01-26 02:16:44 +00:00
mark 7c2829335f Added prototype for md_match_hook(). 1997-01-26 02:02:09 +00:00
mark 6c06479d1c __P(()) -> __P((void)) on several prototypes to fix compiler warnings. 1997-01-26 01:56:20 +00:00
mark 77ecaec2ca Implement bus space interfaces for set multiple, set region and copy 1997-01-26 01:55:02 +00:00
mark de7c5e2195 Implement the bus space interfaces for set multiple, set region and copy. 1997-01-26 01:49:01 +00:00
mark f36384ee92 Removed the cpu specific functions and include <machine/cpufunc.h> instead. 1997-01-26 01:42:48 +00:00
mark 8f52c7afd4 Added prototypes for mainbusprint() and mainbusscan(). 1997-01-26 01:41:01 +00:00
mark 780de160e8 Create a file for all the prototypes for the MD device drivers. 1997-01-26 01:36:56 +00:00
mark 2d1d9a0dcb Include <machine/cpufunc.h> for cpu specific prototypes e.g. tlbflush(). 1997-01-26 01:34:45 +00:00
mark b2abc423cd Create a separate header file with the prototypes for the functions that
manipulate the cpu and mmu registers.
1997-01-26 01:31:20 +00:00
mark 0449845fb5 Declare the arguments to the function pointers in the interrupt
handler structures.
1997-01-26 01:30:51 +00:00
mark bf4360262c __P(()) -> __P((void)) on several prototypes to fix some gcc warnings. 1997-01-26 01:25:42 +00:00
thorpej 7b40f5228e "md" is declared in sys/conf/files, now. 1997-01-21 09:39:20 +00:00
mark 58cc410820 Remove strchr.c file now strchr() is in libkern. 1997-01-20 02:43:30 +00:00
mark 4aceed0d51 No longer needed as strchr() is now in sys/libkern. 1997-01-20 02:42:45 +00:00
mark 4c5fff219e Added a new nexus flag ESC_NF_RETRY_SELECT. This flag is used to indicate
that a unit select did not complete and needs to be retried. Selection will
be retried following a disconnection if this flag is set. The function
esc_select_unit() will set/clear this flag depending on when a selection
completed or not.
1997-01-18 01:57:18 +00:00
mark c5cc357f5d Added a new nexus flag SFAS_NF_RETRY_SELECT. This flag is used to indicate
that a unit select did not complete and needs to be retried. Selection will
be retried following a disconnection if this flag is set. The function
sfas_select_unit() will set/clear this flag depending on when a selection
completed or not.
1997-01-18 01:38:05 +00:00
mark 12af47bc6a The powertec card uses a 40MHz clock frequency.
Report the driver as polling at attach time is so configured.
1997-01-17 01:12:26 +00:00
mark 6df208b349 Added files for podulebus mapping and read/write routines. 1997-01-17 01:08:42 +00:00
mark cf799895fc Pass a podule bus space tag in the pa_iot field of the podule
attach args.
1997-01-17 01:07:58 +00:00
mark 5c03890971 Updated for the new bus space implementation.
Added a pa_iot field to the podule attach args structure.
1997-01-17 01:04:02 +00:00
mark 6caa7a0b4b Implement a set of functions that provide bus space mapping and
read/write routines for the podulebus.
1997-01-17 01:00:47 +00:00
mark 012b3502f7 Implemented the functions inswm8() and outswm8() that are optimised
tranfer routines for use where the I/O register is multiply mapped into
a block of 8 consecutive word. This allows LDM/STM instructions to be
used to improve the read write performance.
1997-01-17 00:56:24 +00:00
perry b89a3425b7 Eliminate obsolete TIMEZONE and DST options.
Eliminate obsolete global kernel variable "struct timezone tz"
Add RTC_OFFSET option
Add global kernel variable rtc_offset, which is initialized by
RTC_OFFSET at kernel compile time.
on i386, x68k, mac68k, pc532 and arm32, RTC_OFFSET indicates how many
minutes west (east) of GMT the hardware RTC runs. Defaults to 0.
Places where tz variable was used to indicate this in the past have
been replaced with rtc_offset.
Add sysctl interface to rtc_offset.
Kill obsolete DST_* macros in sys/time.h
gettimeofday now always returns zeroed timezone if zone is requested.
settimeofday now ignores and logs attempts to set non-existant kernel
timezone.
1997-01-15 01:28:28 +00:00
mark 02e575f690 Replace the fix for the bugged revisions of the 37GT665 I/O controller
that was lost during the last upgrade of the driver.
1997-01-14 22:59:40 +00:00
mark 151fa15841 Use -x rather than -S for the linkflags as we are not using the NetBSD
linker.
1997-01-13 00:51:42 +00:00
mark 98ecd0ea70 Updated for the new bus space implementation.
Merge in the latest changes from the ISA lpt device.
1997-01-13 00:46:51 +00:00
mark f0192d1f6c Removed duplicate PROFILE_ASM option. 1997-01-13 00:42:18 +00:00
mark 7384f7a76d Update for the new bus space implementation.
Merge in the latest changes from the ISA com device.
1997-01-13 00:40:54 +00:00
mark 110691d0cc Added files for the mainbus mapping and read/write routines. 1997-01-13 00:38:45 +00:00
mark 4812012263 Implement a set of functions that provide the bus space mapping and
read/write routines for the mainbus.
1997-01-13 00:37:51 +00:00
mark 52a7f33ad1 Updated for the new bus space implementation in bus.h
The mainbus bus space tag is passed in the mainbus_attach_args structure.
1997-01-13 00:35:47 +00:00
mark 0bebac783d Update for new bus space interface. This implementation is based on
cgd's alpha implementation. Bus tags now point to a structure of
function pointers to bus space routines rather than being an index to
one of several I/O methods making it simpler and more efficient in
handling many different busses and mapping schemes.
1997-01-13 00:33:36 +00:00
mark aef8299490 Document the packet filter major number. 1997-01-12 20:39:51 +00:00
mark 00e9f2af37 inline -> __inline 1997-01-12 20:28:04 +00:00
mark 23254f1c9e Added commented PFIL_HOOKS option. 1997-01-12 20:24:08 +00:00
mark 672f9bc8a2 Added token 'Y' to print stack orientated nmemonics for {sl}dm r13, ... 1997-01-12 14:21:44 +00:00
mrg c71a371532 use pseudo-device ipfilter, not ipl. 1997-01-07 11:35:01 +00:00
mark fd643704d1 Minor changes (inline -> __inline)) 1997-01-06 04:47:53 +00:00
mark fe764c2415 Added the ipl pseudo device.
Cleaned up the options and sync with reality.
1997-01-06 03:39:13 +00:00
mark 5aad105fd0 Added character ipl device on major 46. 1997-01-06 02:44:10 +00:00
mark bc3f67bb21 Use the irqblock array to provide the information about which interrupts
should be blocked for each irq currently asserted.
1997-01-06 02:35:46 +00:00
mark c87f4e3785 Added the functions intr_claim() and intr_release(). These are front
ends for irq_claim() and irq_release() that will allocate and free
memory for the irqhandler structure.
Added an irqblock array that provides a quick reference to all the
interrupts that should be blocked when a particular interrupt is
received. The irq_claim() and irq_release() functions now update the
irqblock array.
1997-01-06 02:30:21 +00:00
mark b34fcd542a Added prototypes for intr_clain() and intr_release().
Added const to the ih_name member of the irqhandler structure.
1997-01-06 02:19:06 +00:00
mark 9f1c9fe28e Symbol kernel_text -> _kernel_text 1997-01-06 02:15:17 +00:00
mark c65504baea Lowered the FIFO trigger threshold to 4 for rather than 8.
Impelemented a fix for kernel locks when opening the serial post :
Revisions A->D of the SMC FDC37GT665 Peripherial controller have
a bug in the serial port that is triggered if the FIFO is enabled
while there is a byte in the rx data register resulting in the
rx ready bit being permenantly set.
1997-01-05 19:19:57 +00:00
mark 17d2a69941 Updated for latest major allocations. 1997-01-05 19:01:18 +00:00
mark cd9c6d9853 Change rd references to md that escaped the previous change.
Reformatted a few over-long source lines.
1997-01-05 18:57:04 +00:00
mark 2bb8f07910 Added a probe for a podule is EASI space if it is not found in normal
podule space.
Fixed a bug in the reading of bytes from network slot cards that prevented
the correct reading of the network slot ROM description.
config code now allows duplicable devices to be attached.
1997-01-03 23:30:30 +00:00
mark 4065dc201f Increased the podule description length from 47 to 63 characters.
Commented some structure members.
1997-01-03 23:27:31 +00:00
mark dc9795f6e8 Removed a lurking ; from a #define line. 1997-01-03 23:26:22 +00:00
mark e1395f3c17 Updated credits. 1997-01-03 23:24:48 +00:00
mark 0b49070ad5 Rebuild from latest podules list. 1997-01-03 23:22:03 +00:00
mark 180ca73617 Added new manufacturer and podule ID's. 1997-01-03 23:21:28 +00:00
mark 04d5907be9 Clean up the code formatting. 1997-01-03 23:19:02 +00:00
mark de84ec92b1 Fixed several lurking function calls (printf -> db_printf). 1997-01-03 23:17:40 +00:00
mark d60f65e8bc Guard all functions that are only used by kshell with #ifdef KSHELL. 1997-01-03 23:15:44 +00:00
mark 763f5034bd ib_addr in the iicbus attach args should be an int not a u_int as -1
is an acceptable address.
1997-01-03 23:13:05 +00:00
mark ff84194c2f Sync with reality. 1997-01-03 23:10:31 +00:00
pk fbfb9e1144 Device rename: `rd' => `md' 1997-01-01 23:32:41 +00:00
pk fe71b17fca Device rename: `rd' => `md' 1997-01-01 23:21:54 +00:00
pk 114271a083 rename: ramdisk => md 1996-12-28 23:10:44 +00:00
mark adfe1faa81 Removed bogus devices. 1996-12-27 02:04:45 +00:00
mark ad3eed8ce3 Fixed PPP soft interrupts.
Make sure soft interrupts are only every delivered when the interrupt
depth is 1.
1996-12-27 02:01:02 +00:00
mark 77f7e266f1 Added a definition for the maximum amount of kernel VM space buffers can
occupy.
1996-12-27 01:55:48 +00:00
mark 2cfb4cba1e Added temporary fix for excessive VM memory allocation for buffers. 1996-12-27 01:53:41 +00:00
mark cc3383de63 Fixed a couple of STM^ instructions lurking in the FPE core. 1996-12-27 01:46:07 +00:00
mark 02d0fd2ea5 Added function fpe_set_execption_mask() to allow the FP exception mask
to be manipulated.
During initialisation the exception mask is set to allow divide by zero
and overflow exceptions to be signaled.
1996-12-27 01:39:14 +00:00
thorpej d502e68402 Fill in sc_link.max_target 1996-12-10 21:27:16 +00:00
cgd 96acdadef7 First step inn removing config_scan() and the hacks that gave devices
on indirect-config busses a (permanent) softc that they could share
between 'match' and 'attach' routines:

Define __BROKEN_INDIRECT_CONFIG so that old autoconfiguration
interfaces are used, until drivers are converted to use the new
interfaces (actually, converted back to use the _older_ interfaces)
which prohibit indirect configuration devices from receiving a softc
in their match routine that they can share with their attach routine.
1996-12-05 00:13:47 +00:00
jonathan 4c1d96de78 * Replace explicit -O2 in CFLAGS with COPTS macro. Default COPTS?= -O2.
Lets users over-ride with makeoptions COPTS="..." in kernel config files.

  Leave `mandatory' flags (like  -msoft-float which  on m68k enforces no
  FP in kernel) in CFLAGS.
1996-12-01 06:12:25 +00:00
jtc 9da5f60715 PROF -> GPROF 1996-11-30 02:48:57 +00:00
mark 1728fa466c Removed duplicate LKM option. 1996-11-23 21:15:46 +00:00
mark f4b69eb14d Removed a load of [cb]dev_decl() lines that are provided by sys/conf.h 1996-11-23 21:15:31 +00:00
mark e2b7ebae9d Now we have a fix for the StrongARM STM^ bug we can recache the SVC32 stack
pages.
Cleaned up several prototypes.
1996-11-23 04:09:01 +00:00
mark 9c855e4d1b Provide alternative trapframe push and pull macros from the StrongARM.
These alternative macros have a workaround for the STM^ bug in revision < 3
StrongARM CPU's that causes incorrect register saving if a cache line fill
is in progress during the STM.
1996-11-23 04:02:40 +00:00
mark 199fcfe651 Recognise the name Empty: as a possible valid partition in a RISCiX
partition table.
1996-11-23 03:56:44 +00:00
mark 12b8038548 Fixed the IPL level of the interrupt handler. 1996-11-23 03:56:02 +00:00
mark 4c515d528e Pass the device name to identify_master_cpu().
Identify StrongARM CPU's with bugged STM^ instructions.
1996-11-23 03:53:48 +00:00
mark 3c05da919c Use the IOMD_ID macro to check the IOMD ID number rather than direct reads
from the IOMD.
1996-11-23 03:45:52 +00:00
mark 2883a694fa Check the IOMD ID in the podulebus probe to make sure the IOMD supports
a podulebus.
Make sure the podulebus driver conforms to the Acorn expansion card
specification:
  - Probe the podule bus using sync access cycles rather than slow access
    cycles.
  - Read the podulebus header/ROM using sync access cycles rather than slow
    access cycles
1996-11-23 03:42:39 +00:00
mark 37f3875ce4 Use the IOMD_ID macro to check the IOMD ID number rather than direct reads
from the IOMD.
1996-11-23 03:37:35 +00:00
mark 374d51c858 Rebuild from latest podules list. 1996-11-23 03:27:15 +00:00
mark ecdf4c14bd Added a number of new manufacturer ID's and some new podule ID's. 1996-11-23 03:23:49 +00:00
mark 5debc61be1 Added IOMD_ID macro to return the 16bit IOMD ID code. 1996-11-23 03:21:43 +00:00
mark f74d5f023d Fixed typos. 1996-11-23 03:20:20 +00:00
mark f14bcbdac4 Added prototype for branch_taken(). 1996-11-23 03:20:18 +00:00
mark b38644ed8d Check for CPU_ARM8 when testing for comflicting CPU options. 1996-11-23 03:18:20 +00:00
mark 776f1e24d6 List the nbuf= bootloader option. 1996-11-23 03:16:51 +00:00
mark 3474eb69a0 Yet more items added to the list. 1996-11-23 03:13:19 +00:00
jtc 16b48272c4 Define _BSD_CLOCKID_T_ and _BSD_TIMER_T_ 1996-11-15 22:38:45 +00:00
thorpej 5bbb546d40 Add missing bitmask buffer declaration. (*sigh*) 1996-11-13 06:46:12 +00:00