Commit Graph

665 Commits

Author SHA1 Message Date
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