Commit Graph

839 Commits

Author SHA1 Message Date
mark ec238c0c33 The bcopy_page() and bzero_page() functions now call mcount() if
GPROF and PROFILE_ASM are defined.
Register usage has been changed to avoid using r11. This means we have
one less register to save during this function.
1996-10-15 01:52:01 +00:00
mark 8850151b06 Removed file arch/arm32/arm32/scratch.S 1996-10-15 01:45:17 +00:00
mark 083ff3dd3d Dead at last.
The functions in this file are either dead, have been rewritten or have
found proper homes (like fusu.S).
1996-10-15 01:45:04 +00:00
mark 55db7609fb Remove the definition of cdev_uk_init() as this is done in <sys/conf.h> 1996-10-15 01:42:18 +00:00
mark 58e481e13b Call mcount() for all fpe core entry points if GPROF and PROFILE_ASM
are defined.
Switch to SVC32 mode before delivering FP exceptions and switch back
to UND32 mode afterwards before exiting.
1996-10-15 01:37:50 +00:00
mark ad466c40e1 If CPU_SA110 is define adjust the traceback PC values by 4 as the
StrongARM stores PC+8 on STR and STM instructions rather than PC+12.
1996-10-15 01:33:50 +00:00
mark 24e50982df Report the core identity string now available from the core header when
booting.
After assembling the post FP processing callback branch call
sync_icache() if CPU_SA110 is defined.
Return a valid signal code when raising a SIGFPE exception so
the cause of the SIGFPE can be determined.
Added the functions arm_fpe_getcontext() and arm_fpe_setcontext()
to obtain the FP context in a FPE independant form for the ptrace()
syscall.
1996-10-15 01:31:28 +00:00
mark 407ce69224 Use tlb_flush() rather than tlbflush().
In db_write_text() call sync_caches() after modifing the text area
if CPU_SA110 is defined.
Added a new machine command "frame" to print out a trapframe.
Trap the kernel break point instruction specifically and panic on
any other undefined instruction being executed in SVC mode.
1996-10-15 01:24:48 +00:00
mark e3c0a41e67 Added machine command to print a trapframe. 1996-10-15 01:23:36 +00:00
mark 804b62c479 Major code clean up.
Removed a load of old debugging code that has served it purpose.
1996-10-15 01:20:48 +00:00
mark 578797208e In the function fetchuserword() call mcount() on function entry if
GPROF and PROFILE_ASM are both defined.
Fixed a bug in suswintr() and susword() that caused the value written
to be trashed.
1996-10-15 01:17:59 +00:00
mark 695e09b29a Added generic support for the ARM7500 cpu rather than just the RC7500
motherboard.
Cleaned up a lot of code to match KNF.
When the device is attach the vidc refclk frequency is reported along
with the amount of video memory and the type.
1996-10-15 01:15:24 +00:00
mark 7d0bc8682c Recognise the ARM32_SYNC_ICACHE option to sysarch() syscall and call
sync_icache() to garentee any instruction cache the CPU may have is
in sync with the data cache and main memory.
1996-10-15 01:12:02 +00:00
mark 7cfe42e258 Overhauled and fixed teh console blanking code. Things no longer
go wrong when console blanking occurs while X is running.
The blanktime ioctl now allows blanking times to be set, force
immediate blanking or diable blanking on a per virtual console basis.
Updated the console version number to revision D.
1996-10-15 01:10:06 +00:00
mark be9a8e231a Removed the function vidc_col() as this has been guarded with #if 0
for a long time now as the function was replaced with a macro.
1996-10-15 01:05:04 +00:00
mark ea88364d7f Tidied up the comments.
Call the Debugger from the diagnostic code if userret() finds itself
at an spl level other than SPL_0.
1996-10-15 01:04:27 +00:00
mark 04c5783fb7 Call mcount() on function entry if GPROF and PROFILE_ASM are both defined. 1996-10-15 01:00:29 +00:00
mark a2a2b693c8 Removed a load on unused code that has been hiding here.
The functions vidcconsolemc_render() and vidcconsolemc_cls()
will call mcount if GPROF and PROFILE_ASM are both defined.
1996-10-15 00:55:26 +00:00
mark c90d8612e7 General code cnd formatting clean up. 1996-10-15 00:52:21 +00:00
mark 0d48d902ea New build of the ARM FPE core. The core header now has a version
number field and an core identity string pointer.
Labels are now defined for all the entry points in the core header
structure so that the linker can relocate the branches to the core.
The core entry points are now branch instructions relative to the
start of the core so the address of the core function does not have to
be calcuated are call time.
1996-10-15 00:49:10 +00:00
mark ed4a15bc3d Added prototypes for tlb_flush(), cache_clean(), sync_caches() and
sync_icache().
Removed prototype for memset().
Added prototypes for atomic_set_bit() and atomic_clear_bit().
1996-10-15 00:44:58 +00:00
mark a6bf04810f Include <machine/fp.h> and <machine/reg.h>
Define the two new fields added to the FPE core header in
the arm_fpe_mod_hdr_t structure.
Added prototypes for arm_fpe_getcontext() and arm_fpe_setcontext().
Updated the prototypes for arm_fpe_core_loadcontext() and
arm_fpe_core_savecontext() to pass a fp_context_frame pointer.
1996-10-15 00:42:46 +00:00
mark fcc485e573 Define a separate set of irq numbers for ARM7500 machines if RC7500 is
not defined as the ARM7500 in A7000 machines has different interrupt
numbers than the ARM7500 in RC7500 machines.
1996-10-15 00:39:23 +00:00
mark 796814b9e9 Added -Wcomment to the CPPFLAGS.
Added -Wreturn-type to the CWARNFLAGS.
Make dependancies for makemodes.
1996-10-15 00:35:48 +00:00
mark 4d21960d40 Added checks for illegal combinations of CPU_ARM6, CPU_ARM7, CPU_ARM7500,
CPU_SA110 and CPU_LATE_ABORT.
Updated the CLKF_INTR() macro for changes made to the interrupt system.
Updated some of the CPU ID codes.
Added the CPU ID for the ARM8.
1996-10-15 00:33:03 +00:00
mark 7e836e3676 splsoftclock() is now a macro rather than a function. 1996-10-15 00:26:46 +00:00
mark 3f12639e0e Added options EXEC_AOUT and EXEC_SCRIPT. 1996-10-15 00:25:45 +00:00
mark 25d5efdd4f Updated to match reality. 1996-10-15 00:23:51 +00:00
mark 478a722a54 New configuration file for RiscPC's with StrongARM CPUs (SA-110) rather
than an ARM6 or ARM7.
1996-10-15 00:22:58 +00:00
mark b352e3549b Updated fpreg_t to match changes made to fp.h 1996-10-15 00:21:36 +00:00
mark f930769a2b New configuration file.
This is for an Acorn A7000 machine with an ARM7500 CPU and no VRAM.
This config should also work for other ARM7500 machines with an
architecture that matches Acorns.
1996-10-15 00:21:06 +00:00
mark 7e6df6c20e Added a typedef for fp_extended_precision_t.
Make fp_reg_t a typedef of fp_extended_precision_t.
Rename the fp_state structure to fpe_sp_state as it describes
the single precision FPE state held in the pcb and is internal to the
kernel.
Define a new fp_state structure that is for user access to the fp
state (e.g. via ptrace()).
1996-10-15 00:15:37 +00:00
mark a7c2e7f767 Use tlb_flush() rather than tlbflush() in the pmap_update() macro. 1996-10-15 00:09:09 +00:00
mark c544086b51 Initial commit of the Connect32 SCSI driver. This driver uses the esc
generic driver.
Currently this is only a polling driver.
1996-10-15 00:08:43 +00:00
mark b4c38ce254 Define the FP exeception types.
Use these types to create the bit values used for fp_except values.
1996-10-15 00:06:47 +00:00
mark 43fce8325b Initial commit of the esc generic SCSI driver code. This is a driver for
the AMD AM53CF94 Enhanced SCSI Controller. The code is based on the
SFAS216 driver as these chips are very similar. There are several
differences but more will follow.
1996-10-15 00:05:04 +00:00
mark c5246aee6a Updated the typedef for undef_handler_t to have a 4th argument. This
argument is a fault code integer.
1996-10-15 00:00:44 +00:00
mark bc6649505b Add definition of configuration register B. 1996-10-14 23:57:11 +00:00
mark 8b97be16ab Include podules.h for definitions of manufacturer and podule ids.
Use definitions from this file for match_podule() rather than hardcoded
values.
Added packet filter support.
1996-10-14 23:55:01 +00:00
mark 91de56b1b6 Include podules.h for definitions of manufacturer and podule ids.
Use definitions from this file for match_podule() rather than hardcoded
values.
Added a routine asc_minphys() in preparation for driver changes when on
card DMA support is added.
1996-10-14 23:53:58 +00:00
mark 56250a75b0 Include podules.h for definitions of manufacturer and podule ids.
Use definitions from this file for match_podule() rather than hardcoded
values.
Reset the interface following a bad packet. This fixes some jams when
the driver failed to recover properly after a bad packet.
1996-10-14 23:50:20 +00:00
mark ce36c22380 Include podules.h and use the manufacturer and identities defined there
for calling match_podule() rather than using hardcoded values.
1996-10-14 23:42:17 +00:00
mark a7c4273ef8 Fix comments. 1996-10-14 23:35:41 +00:00
mark b7b4a80fa1 Remove old-style disk instrumentation. 1996-10-14 23:31:29 +00:00
mark cb1d61078c Use tlb_flush() rather than tlbflush(). 1996-10-14 23:29:47 +00:00
mark 9d8ffb415e Removed all the podule manufacturer and id structures and included
podule_data.h instead.
Removed the dead function find_podule().
The 0xf5 entry in the podules chunck directory is now searched for and
the podule description associated with this entry is placed in the
description field of the podule structure.
Generally tidied up all the comments.
1996-10-14 23:26:48 +00:00
mark ccdc440eac Added a description field to the podule structure. This is filled in
at config time with the podule description (if any) that is extracted
from the podule ROM.
1996-10-14 23:21:22 +00:00
mark 7e9e37b0bf Sync with master podule list. 1996-10-14 23:17:09 +00:00
mark 1698c1854e Initial commit of master list of podule manufacturers and ids along
with tools for building podules.h and podule_data.h from this file.
1996-10-14 23:16:07 +00:00
mark 159f169ad4 Added support for the ARM7500.
Added comments to relate #ifdef and #endif
1996-10-14 23:05:34 +00:00
mark 9ddac81db7 Added definitions for evaluating the signal code argument.
Currently the code field is only valid for SIGFPE, SIGBUS and SIGSEGV.
1996-10-14 23:02:53 +00:00
mark 06083cc7b9 Updated #ifdef to reflect filename change. 1996-10-14 22:57:37 +00:00
mark f0137e2cc0 At last, a version of profile.h that works properly and allows kernel
profiling.
Define an all assembly mcount stub routine and make sure r0-r3 and lr
are preserved.
1996-10-14 22:52:49 +00:00
mark cae31931a9 Initial commit of header file defining various traps.
Define a user breakpoint trap.
1996-10-14 22:49:23 +00:00
mark f24b0a3f91 Initial commit of the header file defining the architecture specific
syscalls.
Declare ARM32_SYNC_ICACHE call that ensures that main memory and any
instruction cache are in sync.
1996-10-14 22:47:31 +00:00
mark 135f110149 Added an ioctl acknowledgement bit to the buffer record flags field.
Added a new ioctl to select either relative or absolution mouse position
reports.
1996-10-14 22:41:59 +00:00
mark 44faa9154f Added a blanktime field to the vconsole structure so the blanktime time
is managed per virtual console rather than globally.
1996-10-14 22:35:03 +00:00
mark c4d76a3f02 Added a field for cpu specific data in the cpu_t structure. 1996-10-14 22:32:45 +00:00
mark 60c2014d86 Added magic number of bootconfig structure passed from the bootloader.
Added a field for the physical address of the display memory used
by the bootloader if VRAM is not fitted.
Declare the boot_args variable extern here.
1996-10-14 22:30:19 +00:00
mark d7004d5a55 Commit of notes on interrupts and their usage. 1996-10-14 22:27:03 +00:00
mark 114e806627 Added note that the current development history can be found
on source-changes.
1996-10-14 22:23:50 +00:00
mark 2c6e3deb80 Not needed as this file has been merged into the main TODO list. 1996-10-14 22:22:12 +00:00
mark 77cd383ae6 Updated. Now includes things that I hope users will work on as well. 1996-10-14 22:21:15 +00:00
christos ad67e04154 backout previous kprintf change 1996-10-13 16:50:51 +00:00
christos ca36ac9ef4 backout previous kprintf change 1996-10-13 03:05:43 +00:00
christos e43661dda6 use in_addr_t and in_port_t 1996-10-13 02:57:47 +00:00
mark 5b9a5a91b2 Added a macro for un-cacheable un-bufferable ptes. 1996-10-12 18:31:10 +00:00
mark 8759f643d5 Don't need to include machine/reg.h here. 1996-10-12 18:29:32 +00:00
mark 9e61254436 Fixed typo. 1996-10-12 18:25:59 +00:00
mark 61d95c8ea3 Initial commit of doc describing boot options and parameters recognised
by the kernel.
1996-10-12 18:24:43 +00:00
christos 60dd5ceebe printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:06:28 +00:00
cgd 472889f8e4 moved to aout_machdep.h (via repository copy) 1996-10-08 12:57:37 +00:00
mycroft b3ffba62a6 Move strip(1) flags into a separate variable, so that $STRIP can
be passed to subordinate make(1)s.  Remove $TOUCH.  Add HOSTED_CC,
HOSTED_CPPFLAGS, and HOSTED_CFLAGS, and use them when depending genassym.
1996-09-09 21:06:55 +00:00
mycroft 9db220fa82 Use cdev_uk_init(). 1996-09-08 00:40:08 +00:00
mycroft 9e7223f23d Use cdev_scanner_init() rather than local cdev_ss_init(). 1996-09-08 00:11:51 +00:00
mycroft e6dd44f034 Use SIGBUS iff we get a legitimate bus fault. Use SIGSEGV for page protection
violations (per Solaris, SVR4, AIX, Linux, Irix, and SunOS).
1996-09-07 22:26:41 +00:00
mycroft 2bc736661a Implement poll(2). 1996-09-07 12:40:22 +00:00
mycroft fc3def4096 Remove duplicate declarations of LKM functions and macros. 1996-09-05 15:46:22 +00:00
mycroft b3eac79b64 tty stop functions really should return void, not int, and certainly not both. 1996-09-02 06:43:16 +00:00
mycroft 30a617c634 Wrap the default definition of `S' in `.ifndef'. 1996-08-31 21:40:47 +00:00
mark 97c857ef9c Initial commit of the prom interface code for VLSI RC7500 motherboards. 1996-08-29 22:35:41 +00:00
mark bda575c253 Removed stub code for copystr(), copyinstr() and copyout() now that
optimised assembly versions are in place.
Added support for mounting an NFS filesystem as the root filesystem even
for generic configs.
Don't hardcode the number of spl levels use the define in psl.h
1996-08-29 22:33:24 +00:00
mark 64860a1d74 Print the instruction word for undefined instructions. 1996-08-29 22:25:26 +00:00
mark 7568e05e32 Added machine command for reporting panic related information.
Trap undefined instructions that are used for breakpoints for all
processors modes. If the mode was USR32 then post a SIGTRAP signal.
1996-08-29 22:23:45 +00:00
mark 2fb1f405f7 Added a new machine function to report information following a panic
e.g. panic string, message buffer etc. This is to aid debugging panics
following a panic while X was running as X will swallow all the panic
text.
1996-08-29 22:21:06 +00:00
mark 75a39e190b Replaced the generic copystr() and copystrinout() functions with
optimised copystr(), copyinstr() and copyout() functions.
This removes the need for the copy{in,out}() stub code in stub.c
1996-08-29 22:18:09 +00:00
mark 8b3ff9c94f Added support for NFS root and swap.
Define argdev here.
Fixed the interpreting of the root and swap devices passed from the
boot loader.
1996-08-29 22:08:58 +00:00
mark 468b7ec21b Define swapdev here as all the other ports do. 1996-08-29 22:05:50 +00:00
mark 2c16eec75d Removed declarations of swapdev and argdev. These are now defined
elsewhere.
1996-08-29 22:03:53 +00:00
cgd 71ad30d0e9 (1) set scsi_link channel to either the appropriate channel (if a
multi-channel driver), or to SCSI_CHANNEL_ONLY_ONE if a
    single-channel driver.
(2) use scsiprint() rather than a locally-defined autoconfig print
    function, and kill any locally-defined print function.
1996-08-28 18:59:15 +00:00
cgd 2a73ef60b7 change cfprint_t type definition to take a const char *, rather than
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
1996-08-27 21:53:46 +00:00
mrg b8e9f36083 add COMPAT_12. 1996-08-26 23:39:36 +00:00
mark 4be6fcfb6e Only disable IRQs during cpu_switch(). FIQs can be left activeas they cannot
interfere with a context switch.
Fixed several comments.
1996-08-21 20:29:19 +00:00
mark 4522daecc9 Added defines for more proc structure fields (used by the FPE). 1996-08-21 20:26:41 +00:00
mark 7b0a0c0a24 Initial commit of the NetBSD/arm32 kernel TODO list. 1996-08-21 20:25:04 +00:00
mark 9d18e41fd8 No longer need the relocation function arm_fpe_mod_reloc() as this is now
sorted out at link time.
fpe_arm_header is now the header structure for the fpe and no longer
a pointer to a header structure.
1996-08-21 20:21:05 +00:00
mark 7b8910c01d Vastly simplified the FPE stubs code now that there are labels for all the
core entry points. i.e. the linker does the work rather than the stub code.
Optimised transferring the trapframe between UND32 and SVC32 mode stacks
in the fpe_post_proc handler.
Added experimental code to handle must of userret in UND32 mode. This means
that the copy of the trapframe and the switch to SVC32 mode is only needed
if mi_switch() has to be called. (This saves a vast number of pointless
trapframe copies).
1996-08-21 20:16:30 +00:00
mark 3142731d09 Re-written FPE core header.
Added branches relative to the start of the module and labels to the various
entry points.
All other offsets are now relative to _fpe_arm_start.
This removes the need for boot time relocation of the FPE.
1996-08-21 20:10:04 +00:00
mark e37583ac84 Removed the prototype arm_fpe_mod_reloc(). 1996-08-21 20:06:26 +00:00
mark 66d9ef4edb Updated with more info on the ARM7500 IOC/IOMD. 1996-08-21 20:00:50 +00:00
mark 9c8e5632da Replaced arch/arm32/arm32/fusu.c with arch/arm32/arm32/fusu.S
Added new iomd device.
1996-08-21 19:56:00 +00:00
mark 45bd77d893 Initial commit of a new iomd device. This device manages IOMD devices
for all ARM processors.
1996-08-21 19:53:21 +00:00
mark 64c91a1cc3 Report EASI space timings when probing the podule bus. 1996-08-21 19:46:47 +00:00
mark e8f3059a07 Define EASI space cycle types.
Added macro for setting the EASE space cycle time for a podule.
1996-08-21 19:44:53 +00:00
mark e53ec9745b Updated to work better with the new assembly functions like fuswintr().
Removed calls to traceback() as this info can be obtained via DDB after
a panic if needed.
1996-08-21 19:42:36 +00:00
mark 165dc50b4c This file can be removed now that the stubs functions it contained have
been replaced with proper assembly version in fusu.S
1996-08-21 19:38:39 +00:00
mark e75becbba3 Initial commit of proper [fs]uword() and associated functions. This
replaces fusu.c which comtained horrible stubs to things like copy{in,out}().
1996-08-21 19:37:43 +00:00
mark 663aa7fac0 Removed the #if notyet guards as this code now works.
Optimised the imsw16() and outsw16() functions by using ldm and stm
instructions.
1996-08-21 19:19:44 +00:00
mark caddfcc9e1 Make sure we have at least 1 rtc device configured otherwise
inittodr() and resettodr() will not work.
1996-08-21 19:07:19 +00:00
mark 88331f5ddc Removed debugging/diagnostic tracebacks. We have DDB now so can traceback
from there after the panic.
Guarded several checks with #ifdef DIAGNOSTIC
1996-08-21 19:04:17 +00:00
mycroft 1eba3fc001 Use to build `makemodes'. 1996-08-12 00:57:35 +00:00
mycroft 558d72128e Put into . Remove hooks for `config-dependent' and
`device-driver' flags.
1996-08-12 00:51:24 +00:00
mycroft cf67f29afe * Add a HOSTED_C_C variable, which strips `-p', `-pg', and
`-nostdinc', and use it when building genassym.
* Use `-nostdinc' just to be sure we're self-contained.
1996-08-10 06:07:57 +00:00
mycroft f94052ed3a * Define CWARNFLAGS and MKDEP in some moderately consistent fashion.
* Make S expand to an absolute path at compile time.
* Use `-S' rather than `-x' to remove debugging symbols.
* Garbage collect unused variables.
* Reverse a handful of port-specific changes that do not correspond to
the common build model and are not needed.
1996-08-10 05:29:24 +00:00
mrg 5abbf990f3 Change reboot(2) to take two arguments: bootopt like normal and also
a boot string for firmware that can do this, such as the SPARC and
the sun3 models.  It is currently silently ignored on all other
hardware now, however.  The MD function "boot()" has been changed to
also take a char *.
1996-08-09 10:30:23 +00:00
mark f5ee3d4ce6 Make sure all routes through vt_curadr() range check the x and y coordinates.
This fixes a nasty bug that could kill the kernel without ever reporting
a panic.
1996-07-05 19:07:55 +00:00
cgd af576d8a9f no need for a local implementation of SIOCGIFMTU; delete it.
s/ifr_metric/ifr_mtu/ where appropriate (in SIOCSIFMTU code), since
MTU data no longer (loggically) stored in ifr_metric.
1996-06-13 21:51:53 +00:00
mark 103a43ae29 Get the interrupt flags address from sc->sc_specific.sc_podule rather
than sc->sc_podule.
1996-06-13 18:29:45 +00:00
mark 31c4f7d574 Only read beyond the first byte of the podule header if we know that
an extended header is present i.e. don't assume an extended header as
however unlikely there could be a podule that doesn't have one.
Calculate an absolute address for the podule's interrupt mask rather
than leaving it relative to the base address of the podule.
If the interrupt status pointers are not present or are zero then
used the default bits as specified in the podule specification to
determine if the podule is interrupting.
1996-06-12 21:09:55 +00:00
mark 857439698b Claim the interrupt when leaving the interrupt handler as there can
only ever be a owner of the netslot interrupt.
Don't declare ebintr() as static.
1996-06-12 21:01:56 +00:00
mark 27ab616466 Don't claim the podule interrupts but pass them on in case of
chained podule interrupt handlers.
Fill out the ih_maskaddr and ih_maskbits fields in the interrupt handler
structure so that interrupt dispatcher knows where to look to determine
if the handler should be called.
General code tidy up and source code formatting.
1996-06-12 20:59:10 +00:00
mark 4dd0dabfca Don't claim the podule interrupts but pass them on in case of
chained podule interrupt handlers.
Fill out the ih_maskaddr and ih_maskbits fields in the interrupt handler
structure so that interrupt dispatcher knows where to look to determine
if the handler should be called.
1996-06-12 20:46:58 +00:00
mark e5aad86168 Allow the mouse interrupt to be specified in the config file. Fall
back on timer 1 interrupts if none is specified.
Only set up timer 1 is the driver is using timer 1 interrupts.
Don't claim the interrupt but allow them to be passed on to other
handlers.
1996-06-12 20:30:59 +00:00
mark 7d688793a8 Claim the interrupt if it has been dealt with otherwise pass it on. 1996-06-12 20:28:29 +00:00
mark 08ec43427f Added some sanity checks to irq_claim().
Fixed the handling of IPL_NONE.
Debugged support for interrupt chaining.
Fill out the intrnames array with the name of the interrupt handler
currently at the head of the chain.
Guarded several sanity checks with #ifdef DIAGNOSTIC.
1996-06-12 20:23:58 +00:00
mark 459cefbe67 Added support for the RC7500 interrupt registers
Added interrupt chaining.
Removed some dead debugging code.
Guarded several sanity checks with #ifdef DIAGNOSTIC
Make sure interrupts are disable while updating the IOMD interrupt
masks.
1996-06-12 20:19:35 +00:00
mark 1fd9b6f37c Removed some dead code that could never get executed (followed a panic).
Updated several panic messages to indicate what part of the fault code
they came from.
1996-06-12 20:15:28 +00:00
mark 977f90bd3b Removed copyin()/copyout() stub code.
Removed several old debugging functions that are no longer needed.
Block interrupts while updating the soft interrupt masks.
Fixed softclock interrupts and added IRQ_SOFTPLIP to the SPL_SOFT mask.
1996-06-12 20:12:04 +00:00
mark 47c523fff0 Spilt the copyinout() function into two separate functions copyin()
and copyout() so that the address space checks are done here rather than
in a bit of stub code.
1996-06-12 20:06:00 +00:00
mark 7b05ce2841 Updated to match changes in the irq handler structure.
Define symbols for the address space limits that copyin() and copyout()
compare against.
1996-06-12 20:02:42 +00:00
mark 13ff05d513 Don't claim the interrupts in hardclock() and statclock() but allow
them to be passed on to other interrupt handlers attached to the
timer interrupts.
1996-06-12 20:00:21 +00:00
mark b8dfbd8fe6 Don't use signed compares when determining the copy direction. 1996-06-12 19:58:43 +00:00
mark 120210258e Added a new machine command intrchain to dump the interupt handler
chains.
1996-06-12 19:57:06 +00:00
mark 8f541bdd1d Added a couple of comments.
Defined VM_MAXKERN_ADDRESS as the maximum address for the kernel address
argument to copyin() and copyout().
1996-06-12 19:55:04 +00:00
mark 78d05630aa Define insl() and outsl() as macros that currently just panic for the
moment.
1996-06-12 19:50:14 +00:00
mark 167d543662 Define several new macros for testing the processor mode. 1996-06-12 19:48:48 +00:00
mark 544631c0be Guard structures and prototypes with #ifndef _LOCORE
Rename the currently unused irq handler structure fields for podule
interrupts so they make more sense.
Define IPL_NONE as a positive value instead of -1 and increase the
number of IPL levels.
1996-06-12 19:47:11 +00:00
mark 4d280731dd Updated comments.
Print the irq masks for IPL_NONE.
1996-06-12 19:42:23 +00:00
mark 1f81e394d6 Only check the proc pointer in userret() if DIAGNOSTIC is defined. 1996-06-12 19:40:48 +00:00
mark d4a21812c0 Updated the arm_fpe_boot() prototype. 1996-06-12 19:37:37 +00:00
mark bbf3f35a4c Pass the cpu structure to the FPE boot function so that the FPU class
and type can be updated if a FPA is detected.
1996-06-12 19:37:03 +00:00
mark d9d6f7f246 RCS Id police. 1996-06-12 19:24:19 +00:00
mark 3ed835cae8 Only attach 1 VSYNC interrupt handler instead of a interrupt handler per
virtual console.
1996-06-12 19:12:57 +00:00
mark b58401e04e Not needed. This was identical to the VOYAGER config. 1996-06-03 22:50:07 +00:00
mark 8477987501 Fixed lots and lots and lots of -Wall compiler warnings. 1996-06-03 22:44:53 +00:00
mark f2a8347cc4 Fixed -Wall compiler warnings.
Implemented a setsoftintr() function.
1996-06-03 22:44:36 +00:00
mark bfe01da7b5 Tidied up the prototype declarations. 1996-06-03 22:41:14 +00:00
mark 4732cc6c39 Make sure that the ethernet address has been set correctly before
attaching the interface to the network code.
1996-06-03 22:39:12 +00:00
mark 45842a3af6 Merged in the latest changes that have been mode to the isa lpt driver.
Merged in the latest plip code from the pc532 port.
1996-06-03 22:36:23 +00:00
mark 0217e55278 Fixed the softnet interrupt code to properly use netisr. 1996-06-03 22:33:51 +00:00
mark e2391b47fd Merged in the latest changes that have been made to the isa com driver. 1996-06-03 22:30:36 +00:00
mark f941f8cdb9 Fixed -Wall compiler warnings. 1996-06-03 22:20:32 +00:00
mark 1c9f0501fc Don't complain about a drive type of zero, just treat it as no drive
present.
1996-06-03 22:19:21 +00:00
mark 59e4127d96 Use the sync information in the mode definition to set the VIDC sync
polarity.
1996-06-03 22:14:56 +00:00
mark 2f6e37b679 Fixed -Wall compiler warnings. 1996-06-03 22:11:34 +00:00
mark d4b96c659d Fixed -Wall compiler warnings introduced when fixing the vt220 printing
bug.
1996-06-03 22:08:37 +00:00
mark a2a08dd859 Removed the old QUADMOUSE_* ioctl names. Everything now uses the
generic mouse ones.
1996-06-03 22:07:39 +00:00
mark aa4be90f73 General code format tidy up.
Added missing function prototypes.
1996-06-03 22:04:40 +00:00
mark 0ba929925d Added proper definitions of quadrature mouse button register. 1996-06-03 22:03:36 +00:00
mark 258f83367c Added setsoftintr() prototype. 1996-06-03 22:00:50 +00:00
mark 0b265889c6 RCS Id police. 1996-06-03 21:58:25 +00:00
mark 515759c222 Added PLIP soft interrupt. 1996-06-03 21:57:52 +00:00
mark 10d9fbd5fe RCS Id police. 1996-06-03 21:55:46 +00:00
mark 89711a59f0 Fixed -Wall compiler warnings. 1996-06-03 21:53:33 +00:00
mark 17582aa655 Removed some dead code from cpu_exit().
Fixed -Wall compiler warnings.
1996-06-03 21:46:15 +00:00
mark 7d3a5033a5 Use special versions of the IRQdisable and IRQenable macros that
keep FIQ's active.
1996-06-03 21:43:06 +00:00
mark 2d9f11e999 Add visibale debugging info for the RC7500 board. 1996-06-03 21:41:09 +00:00
mark 2a56b05b3d Implemented cache and tlb flush functions for the StrongARM.
RCS Id police.
1996-06-03 21:38:05 +00:00
mark 8251f6e1f7 Fixed copyright message. 1996-06-03 21:36:14 +00:00
mark 6da55f03ee RCS Id police. 1996-06-03 21:35:10 +00:00
mark 6ecba1cbe0 Added extra diagnostic information that can be printed when the ARM700
prefetch abort bug occurs.
Fixed -Wall compiler warnings.
1996-06-03 21:32:11 +00:00
mark ff542922fa getdevice() now defaults to returning the a partition if no partition
is specified in the string.
Fixed -Wall compiler warnings.
1996-06-03 21:28:59 +00:00
mark bd72d43fdc Major code clean up. Now satisfies the source code style guide. 1996-06-03 21:27:21 +00:00
mark 5a66df3d3d RCS Id police. 1996-06-03 21:21:29 +00:00
mrg 1af2be6068 document PORTAL 1996-05-20 18:15:11 +00:00
mark 08dfd04e76 Fixed the NetBSD Id string. 1996-05-20 17:09:24 +00:00
mark a7f4c7929f Don't need -fno-builtin anymore. 1996-05-20 14:37:24 +00:00
mark a1ac79c69f Added r_neg bit and removed r_copy bit from relocation_info_arm6 structure.
General tidy up of the code style in file.
1996-05-17 21:58:07 +00:00
mark d7ef096470 Probe for both Atomwide and ANT ether3 podules. 1996-05-17 16:24:03 +00:00
mark 8a9255ea4b Recognise ANT ether3 podules. 1996-05-17 16:17:21 +00:00
mark c2af4f7f17 add 'kernel_text' symbol, for use by kvm_mkdb 1996-05-17 11:00:45 +00:00
mark 4a03434386 Increased delay time while waiting for acknowledgement following the
sending of a keyboard reset code. This fixes a problem on some machine
where the reset code ends is a long loop continually trying to reset the
keyboard.
1996-05-16 19:32:25 +00:00
mark 525cc1eebc Fixed the printing of the podule description from the chunk directory
for unrecognised podules.
1996-05-16 19:05:35 +00:00
mark 0d476cb7d0 bus memory and I/O space access functions/macros, to be used by
machine-independent code for more sane access to bus resources.
Defines:
        bus_{io,mem}_{map,unmap}
        bus_{io,mem}_{read,write}_{1,2,4,8}
        bus_io_{read,write}_multi_{1,2,4,8}
functions, and several types to go with them.
Note: The bus_io_*_8 functions are not supported.
1996-05-16 18:08:40 +00:00
mark f38ec079c3 Removed definitions of mouse buttons. These should be obtained from
iomd.h and do not need to be duplicated here.
1996-05-16 17:45:10 +00:00
mark cf31abcc16 Minor changes to the configuration of some devices. 1996-05-12 21:54:37 +00:00
mark b7105daa51 Updated boot0() to leave the processor in 32 bit data/address space mode
when jumping back into the ROM at 0x00000000.
1996-05-12 21:54:05 +00:00
mark db208e96e3 Addition of configuration file for RC7500 development board. 1996-05-12 21:49:01 +00:00
mark 169f7f2a06 Fixed the vt220 printing bug.
Fixed the 'loss of console output while X is switched in' bug.
1996-05-12 21:42:44 +00:00
mark 8a3097c984 Fixed panic strings with %i in them where it should have been %s. 1996-05-12 21:40:21 +00:00
mark 6ad1b0f567 Added the es ethernet driver. 1996-05-12 21:37:47 +00:00
mark 95ee0f849a Initial commit of the SMC91C9X ethernet driver found on RC7500
motherboards.
1996-05-12 21:35:07 +00:00
mark 05ae98d7ed Fixed the order of the machine includes. 1996-05-12 21:33:18 +00:00
mark 0efacab0e1 Removed some lurking experimental code that does not work relating
to CDROM devices.
1996-05-12 21:30:15 +00:00
mark 267415c841 Define FLT_ROUNDS properly. Guard #defines with #ifndef / #endif 1996-05-12 21:27:52 +00:00
mark 62b52adc0e Definitions of various contants and types for arm32 IEEE float point. 1996-05-12 21:26:20 +00:00
mycroft 540f9550c0 Make `make depend' work for libraries. 1996-05-11 16:11:30 +00:00
mark 8eddcbfbd2 Added needs-flag to the podulebus driver.
Tidied up the file a bit and added some extra comments.
1996-05-09 14:03:18 +00:00
mark 779d7709c5 Separated mouse initialisation code out into a separate function.
Added a watchdog timer to reset to reinitialise the mouse if it dies.
1996-05-07 21:04:08 +00:00
mark 09aabb30f7 Merged in changes from the isa wd driver. 1996-05-07 21:00:09 +00:00
thorpej 748810b06d Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit.  Updated interface to (*if_watchdog)() and (*if_start)()
to take a struct ifnet *, rather than a unit number.
1996-05-07 00:46:37 +00:00
mark f194862b11 Updated declaration of dk_establish() to match prototype. 1996-05-06 00:57:10 +00:00
mark 928d9a1842 Fixed compiler warnings generated with -Wall. 1996-05-06 00:52:35 +00:00
mark dbf4689e65 Fixed -Wall compiler warnings.
Implemented ESC [g sequence.
1996-05-06 00:47:20 +00:00
mark 2dd637939f Fixed VIDC register setup for RC7500 boards. 1996-05-06 00:45:09 +00:00
mark 3f91443b0b Added __noreturn__ attribute to boot0(). 1996-05-06 00:41:55 +00:00
mark 5b6948449b Commented out the vm_map_remove from cpu_exit() as this appears to be
done in the exit1() function in kern_exit.c
1996-05-06 00:41:32 +00:00
mark 6417430844 Fixed -Wall compiler warnings. 1996-05-06 00:37:13 +00:00
mark d0e2e6de12 Don't try and idle a ARM7500 if targeting a RC7500 board as power
down is not yet supported.
1996-05-06 00:36:05 +00:00
mark c41bdbf690 Added a new routine kbdcmd() to send commands to the keyboard.
Added a new routine kbdreset() to conduct a full keyboard reset.
Added definitions of all keyboard command codes and responces.
Replaced kbd_set_leds() with new function that used kbdcmd().
The keyboard attach function now detects whether a keyboard is
attached or not.
1996-05-06 00:35:05 +00:00
mark f5b3a4ddc7 Only call config_rootfound() for the podulebus is NPODULEBUS > 0. 1996-05-06 00:32:19 +00:00
mark 938954d516 Mark interrupt handlers attached to the irq chain as active in
irq_claim().
Clear the active flag in the irq handler when it is removed from the irq
chain in irq_release().
Checks for podule IRQ's in irq_claim() are now guarded with
#if NPODULEBUS > 0
fiq_release() now retrieves the FIQ more registers and places them
back in the fiq handler structure.
1996-05-06 00:30:39 +00:00
mark 181c7ad5cd Added a new function fiq_getregs() to transfer the FIQ mode register
into a fiqhandler structure.
Updated fiq_setregs to use symbols in assym.h for offsets into
fiqhandler structures.
1996-05-06 00:25:43 +00:00
mark 60b2501141 Updated FIQ handler registers to match changes to the floppy
fiq routines.
1996-05-06 00:23:57 +00:00
mark 08003631cc Rewritten floppy_read_fiq() and floppy_write_fiq() routines.
Register usage changed to free fiq mode r13.
Added loop to keep reading bytes while the floppy FIQ is asserted.
1996-05-06 00:21:05 +00:00
mark 4f7f1b7f73 Create definitions for fiqhandler structure members. 1996-05-06 00:16:25 +00:00
mark 58ff5333d7 Fixed -Wall compiler warnings. 1996-05-06 00:11:16 +00:00
mark 8f285e6977 Added prototype for sfasintr(). 1996-05-06 00:09:28 +00:00
mark 81e79a0787 Recognise the 24i16 digitiser podule.
Fixed -Wall compiler warnings.
1996-05-06 00:04:06 +00:00
mark c4f10ac478 Fixed cpu_set_kpc() and pagemove() functions to match prototypes. 1996-04-27 03:00:27 +00:00
mark 10ec66cba0 No longer needed as this file has been replaced with the generic mouse
interface described in mouse.h
1996-04-27 02:09:16 +00:00
mark 0b44bb02a0 Removed prototypes for cpu_set_kpc(), cpu_swapin() and cpu_swapout() as
these are now defined in other header files.
1996-04-27 02:04:39 +00:00
mark f09d86fa87 Fixed compiler warnings generated with -Wall.
Added dump routines for dumping buffer and vnode information.
1996-04-26 22:49:21 +00:00
mark 0a05345dc3 Added needs-flag for the asc driver. 1996-04-26 22:46:07 +00:00
mark 6e054ed22f Probe functions rewritten to support new podulebus configuration code.
matchpodule() is now used to test podule_attach_args for correct id's.
Moved the probing code that used the softc into the attach function.
Fixed compiler warnings generated with -Wall.
1996-04-26 22:44:00 +00:00
mark fff1823ed8 Probe functions rewritten to support new podulebus configuration code.
matchpodule() is now used to test podule_attach_args for correct id's.
1996-04-26 22:41:24 +00:00
mark 9a12d19953 Probe functions rewritten to support new podulebus configuration code.
matchpodule() is now used to test podule_attach_args for correct id's.
Fixed compiler warnings generated with -Wall.
1996-04-26 22:38:11 +00:00
mark 4a3ceede5a Added function prototype for matchpodule(). 1996-04-26 22:34:02 +00:00
mark c18452b410 podulebus configuration code rewritten. Junked config_scan() from
the podulebus attach function.
For each podule found, config_found_sm() is now called. Device drivers
now only need to look at the podule_attach_args information during
the probe.
A new function matchpodule() has been added for use in the
podule device driver probe functions.
1996-04-26 22:32:36 +00:00
mark 027b04a250 Fixed compiler warnings obtained with -Wall. 1996-04-26 22:25:56 +00:00
mark a6da4ae69c Fixed compiler warnings generated with -Wall. 1996-04-26 22:01:51 +00:00
mark 504699a05d Added prototypes for cpu_swapin(), cpu_swapout(), tlbflush()
cpu_set_kpc() and need_resched().
1996-04-26 21:12:36 +00:00
mark 38b0e06483 Added prototypes for setsoftnet() setsoftast() and setsoftclock(). 1996-04-26 21:10:21 +00:00
mark b2d569c95e Fixed compiler warnings generated with -Wall. 1996-04-26 21:02:49 +00:00
mark 6a7f88f956 Included sys/systm.h for function prototypes. 1996-04-26 21:00:31 +00:00
mark aa46efbc0e Fixed compiler warnings obtained with -Wall. 1996-04-26 20:59:07 +00:00
mark 8b4332315d Fixed buffering of console output. While cold or while polling,
buffering is disabled.
Tidied up a bit of the code inline with kernel coding style.
1996-04-26 20:56:04 +00:00
mark 189e6aba9f Fixed a multitude of compiler warnings obtained with -Wall (mainly
unused variables).
1996-04-26 20:48:23 +00:00
mark a88f28f958 Updated functions to match prototypes in sys/systm.h 1996-04-26 20:35:23 +00:00
mark 9e67e6e232 Included ddb/db_output.h for db_printf() prototype.
Fixec compiler warnings generated with -Wall.
1996-04-26 20:30:54 +00:00
mark 8cce48f9a3 Included ddb/db_output.h for db_printf() prototype.
Fixed compiler warnings generated with -Wall.
1996-04-26 20:28:28 +00:00
mark 3b62994c10 Include ddb/db_output.h for db_printf prototype.
Replaced some printf calls with db_printf calls.
Fixed compiler warnings generated with -Wall.
1996-04-26 20:25:55 +00:00
mark bebcb9b554 Removed unused variable ptr in swapconf(). 1996-04-26 20:22:52 +00:00
mark d4d9deb9d7 Added facility to dump the SCSI information from the asc driver. 1996-04-19 20:15:36 +00:00
mark e59df39537 Added asc_dump() function to dump the information gathered by the sbic
driver.
1996-04-19 20:13:56 +00:00
mark 0d0b8de238 Code fixes to get the sbic debugging code to compile. 1996-04-19 20:09:50 +00:00
mark 0e486086a5 Added information of the iic and rtc devices. 1996-04-19 20:04:29 +00:00
mark 7bbb222f40 Raise the spl level to spltty while manipulating the virtual console
linked lists.
A couple of minor code cleanups.
1996-04-19 20:03:37 +00:00
mark c771d9f6c3 Config files updated for the new iic and rtc devices. 1996-04-19 20:00:41 +00:00
mark 584d8e9b80 Updated to reflect removal of iic and rtc code from arm32/ and the
creataion of the iic and rtc devices.
1996-04-19 19:57:49 +00:00
mark a65bd66705 Header file for IIC structures, prototypes and ioctls. 1996-04-19 19:52:46 +00:00
mark e51f620a83 Added IIC information for the PCF8583 RTC chip.
Added #ifdef guard on rtc prototypes.
1996-04-19 19:51:48 +00:00
mark 0b22968311 Initial commit of iic and rtc devices. 1996-04-19 19:49:03 +00:00
mark ab4a325e4c The iic and rtc are now devices and have been rewritten ane moved to the
mainbus directory.
1996-04-19 19:43:31 +00:00
mark 11fb5f4ba0 Added configuration information for character devices iic and rtc. 1996-04-19 19:40:29 +00:00
mark 85d47049cc Don't report time or 'clock has gain ...' message if the base time
was 0 in the inittodr() function.
1996-04-19 19:39:17 +00:00
mark 234547bf5e Add CPU ID's for the DEC StrongARM-110 processor.
Update control register bit definitions as the SA-110 has
separate instruction and data caches.
1996-04-02 21:45:25 +00:00
mark 06ae03c8b0 Use the generic mouse ioctl names instead of the quadmouse ones. 1996-03-28 21:56:40 +00:00
mark e50a0e4440 Support the ARM7500 IOMD as well as the RPC600 IOMD. 1996-03-28 21:55:15 +00:00
mark 910ee34995 Remove definitions of the inb() and outb() macros as they are now
defined in a header file.
1996-03-28 21:52:32 +00:00
mark ba871a93aa Initial commit of the PS2 mouse driver. 1996-03-28 21:50:19 +00:00
mark 0b89016846 ramdisk is now a psuedo device. 1996-03-28 21:45:40 +00:00
mark 1ff14b3c1f ramdisk is now a psuedo device.
Added pms PS2 mouse device.
1996-03-28 21:44:06 +00:00
mark e36164c8fa If the irq number passed to irq_claim()/irq_release is -1 extract
the irq number from the irqhandler structure.
1996-03-28 21:43:52 +00:00
mark c5a198dd29 ramdisk device is now a psuedo device.
Added pms device for PS2 style mouse.
1996-03-28 21:42:00 +00:00
mark 8564f152ec Added character device pms to the device table. 1996-03-28 21:40:22 +00:00
mark 9d048bd529 Define macros for inb() outb() inw() outw() inl() outl(). 1996-03-28 21:35:51 +00:00
mark 93602531a6 Added definitions for RC7500 motherboard interrupt numbers. 1996-03-28 21:29:32 +00:00
mark 044c783484 Added definitions for RC7500 motherboard IO addresses. 1996-03-28 21:28:21 +00:00
mark 7d06b49a23 Added definitions of ARM7500 IOMD. 1996-03-28 21:26:05 +00:00
mark 0ff466e21a Add VIDC20 phase lock loop frequency information for RC7500
motherboards.
1996-03-28 21:22:24 +00:00
mark 4b10d39797 Added support for RC7500 motherboards and non VRAM video systems.
Use frequency lookup table for RC7500 systems.
1996-03-28 21:18:40 +00:00
mark fba7f55646 Fix printing during attachment now ramdisk is a psuedo device. 1996-03-28 21:14:13 +00:00
mark 611837babe RCS Id police. 1996-03-27 22:42:08 +00:00
mark 57dd9b776a Push r4-r6 on the stack at the beginning of the function to avoid
trashing r5 and r6 if copystr() is called with a length of 0.
1996-03-27 22:19:32 +00:00
mark c8d5b80dea Define name for the floppy interrupt handler.
Fixed declartion of fdopen() now that it does not clash with fdesc open
function.
1996-03-27 22:18:44 +00:00
mark 585c401e02 Define name for the interrupt handler.
Include mouse.h instead of qmouse.h now that there is a generic
interface.
1996-03-27 22:14:45 +00:00
mark 9852119eff Updated to reflect the latest major/minor allocations. 1996-03-27 22:09:30 +00:00
mark 395f0fd59c Define name for the interrupt handler for use with vmstat -i. 1996-03-27 22:08:25 +00:00
mark 8345378c81 Define name for interrupt handler. 1996-03-27 22:07:26 +00:00
mark b4aaf66b7a Remove prototype for Debugger() as this is defined in systm.h. 1996-03-27 22:05:19 +00:00
mark 6245ffb5e5 Define a name for the sbic interrupt handler. 1996-03-27 21:51:22 +00:00
mark 44d3ebb603 Define a name for the network interrupt handlers for use with vmstat
-i.
1996-03-27 21:49:26 +00:00
mark 30fe804249 Define a name for the vsync interrupt handler. 1996-03-27 21:47:29 +00:00
mark 79ec25c520 Removed #define/#undef of fdopen as clash with fdesc nolonger exists.
Removed local definition of cdev_qm_init. Mouse drivers are now declared
with cdev_mouse_init from sys/conf.h
1996-03-27 21:42:36 +00:00
mark c1dff5e43e Removed duplicate stores and loads of the stack pointer during context
switches. Removed some dead debugging code from the __FORK_BRAINDAMAGE
days.
1996-03-27 21:24:39 +00:00
mark 02aafe8ddb Define a name for the hardclock timer interrupts. 1996-03-27 21:21:59 +00:00
mark cf15dd8123 New description of the generic mouse interface structures and ioctls.
This will replace qmouse.h now that we have multiple mouse drivers to
support and want a common interface.
1996-03-27 20:57:18 +00:00
mark 47804c6e17 Table of interrupts names has been padded out to 14 characters so that
it can be filled in when interrupt handlers are attached. Table moved
from the text area to the data area.
1996-03-27 20:42:53 +00:00
mark 6119d33eeb Build the intrnames table from the interrupt name strings for vmstat -i
if IRQSTATS is defined.
1996-03-27 20:16:30 +00:00
mark 2f5136afa9 Added ih_name field to the irq handler structure to point to an ascii
name for the interrupt. Used to build the intrnames table for vmstat -i
1996-03-27 19:42:03 +00:00
mark cb3bacff44 Added abort function that just hangs in an infinite loop.
GCC/arm addeds calls to abort to the end of functioned declared
as not returning e.g. panic().
1996-03-20 18:57:58 +00:00
mark 9adb4b41cb Make this work following the attachment changes. 1996-03-20 18:49:56 +00:00
mark 6973956563 Fixed references to match function. 1996-03-20 18:46:58 +00:00
mark c8d47951ba Fix references to the match function. 1996-03-20 18:38:00 +00:00
mark 11e435f55e Declaration of Debugger() now matches the prototype in systm.h 1996-03-18 21:33:05 +00:00
mark 8ac78e8698 RCS Id police. 1996-03-18 21:23:09 +00:00
mark 4973a32e6d RCS Id police. 1996-03-18 19:54:53 +00:00
mark 3689687703 RCS Id police. 1996-03-18 19:33:04 +00:00
cgd 94907fa254 adjust to deal with expression support for optional file specs 1996-03-17 13:21:09 +00:00
thorpej 5c67e5fad9 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 01:16:48 +00:00
jtc 2ce5f1478b Add _BSD_WINT_T_ definition so we can handle wint_t type added in NA1. 1996-03-16 01:31:45 +00:00
thorpej 58a3d4e742 RCS id police. 1996-03-16 00:17:52 +00:00
thorpej 0bbcd292a1 RCS id police. 1996-03-16 00:07:07 +00:00
mark 6cb2a43b5e RCS Id police. 1996-03-14 23:10:59 +00:00
christos ab0e60a42f fdopen -> filedescopen 1996-03-14 21:20:59 +00:00
mark 46e6b251f1 Raise the spl level while modifing the keyboard autorepeat and delay
rates.
Added missing = to test for alphabetic characters so that caps lock
applies to Z as well as A-Y.
1996-03-13 21:51:32 +00:00
mark a2ff705689 Added code to handle indents in monitor definition files. 1996-03-13 21:47:15 +00:00
mark cb6f3bb55c Removed references to the kstack double mapping from the old debug
shell.
1996-03-13 21:45:54 +00:00
mark 32f0b6e092 curpcb is declared in pcb.h so don't declare it here.
removed debug printing when faulting in new page tables for the user
process stack.
1996-03-13 21:41:41 +00:00
mark ba893940d3 savectx() now justs syncs the pcb, it no longer needs to copy the stack.
cpuswitch() simplified, now pushes and pulls a switchframe structure
on entry and exit. Added extra comments to indicate the states of
various registers throughout cpuswitch().
Added proc_trampoline function.
1996-03-13 21:39:10 +00:00
mark 5c857a37ef Use the value returned from initarm() to set the stack pointer before
calling main().
1996-03-13 21:34:17 +00:00
mark bbf2aa16b5 Removed kstack references. Updated code that sets up the pcb for proc0
now that double mapping has gone.
initarm() now returns the address to be loaded into the stack pointer
before calling main() to kick things off.
1996-03-13 21:32:39 +00:00
mark d253d345a2 Since kernel stack double mapping no longer exists there is no
point in trying to perform a postmortem on it following an panic.
1996-03-13 21:26:52 +00:00
mark 52f490ccf6 No longer need to allocate hooks for kernel stack double mapping during
pmap bootstrapping.
1996-03-13 21:25:04 +00:00
mark 7045f47891 The kstack pte fields no longer exist so remove them. 1996-03-13 21:22:32 +00:00
mark caf9dd3edc Removed external declaration of kstack. No longer relevant now kstack
double mapping has been removed.
No longer need to fixup the trap frame address to take double mapping
into consideration.
1996-03-13 21:21:00 +00:00
mark 043ef25c23 Remove cpu_set_init_frame macro. This is no longer needed now
cpu_set_kpc() has been implemented.
1996-03-13 21:18:06 +00:00
mark f9f45be67c Removed all the double mapping code from cpu_fork().
Arrange for the child process to return to user land via child_return()
on leaving cpuswitch().
Added function cpu_set_kpc().
1996-03-13 21:16:15 +00:00
mark 8fbba52c87 Removed option __FORK_BRAINDAMAGE at last. 1996-03-13 21:10:43 +00:00
mark ffa6eab259 Removed the kstack pte fields. These are no longer needed as the kernel
stack is no longer double mapped.
1996-03-13 21:08:36 +00:00
mark f96ae702d7 Added switchframe structure to describe the stack frame pushed on the
stack at the beginning of cpuswitch().
1996-03-13 21:06:34 +00:00
mark c353f32f10 _mcount() can now be declared inline. 1996-03-13 21:04:55 +00:00
mark fb4eacf0a5 Removed comments describing debugging code that has long since gone.
Added new comments for parts of the undefined vector entry point.
1996-03-13 21:00:26 +00:00
mark 1e97524220 SCSI scanner device added to the list of SCSI devices configured. 1996-03-13 20:57:45 +00:00
mark f6c46bc20c Added hooks for the SCSI scanner device driver. 1996-03-13 20:55:21 +00:00
mark d389b21913 Added boot time override for the memory test during probing. This
memory test apparently causes hangups on some etherH interfaces.
Until this can be debugged with an offending interface the memory
test can be bypassed.
1996-03-13 20:52:35 +00:00
mark c117a7f133 Only call the debugger if DDB is defined. 1996-03-13 20:28:50 +00:00
mark 852758c603 Include <sys/device.h> for rd_match_hook(). 1996-03-09 17:26:01 +00:00
mark fe9da42a4a Removed include of <setjmp.h>
db_recover is now declared as label_t * instead of jmpbuf *
1996-03-09 17:22:12 +00:00
mark a1ceaeba99 Disable interrupts when switching to UND32 mode to get the
UND32 mode stack pointer during a context save.
1996-03-09 17:15:46 +00:00
mark 30bb966970 Cleaned up the boot() function. Removed some of the garbage,
rewritten parts and made sure it uses cngetc().
Don't try and syn the discs or unmount filesystems if boot() gets
called while still cold.
1996-03-08 21:37:01 +00:00
mark 657b336f18 Restructured management of L1 page tables. Added support for
detaching an L1 page table from a process that is swapped out.
1996-03-08 21:21:47 +00:00
mark 713cab03b9 Updated comments, removed a lot of dead code and other old debugging
functions.
1996-03-08 21:08:39 +00:00
mark 700050b193 Added support for freeing level 1 page tables when cpu_swapout() is
called.
Added support for reallocating level 1 page tables when cpu_swapin() is
called.
1996-03-08 20:58:40 +00:00
mark a3aaf2a2c0 Removed old (and commented out) diagnostic code from
undefinedinstruction() that verified the function was not
called in UND32 mode. We now always expect undefinedinstruction()
to be called in UND32 mode.
1996-03-08 20:54:25 +00:00
mark 7c5f0f1407 Removed declarations of external variables no used in the file. 1996-03-08 20:49:47 +00:00
mark e03778a035 Updated irq names, replaced reserved irq 1 with irq softclock. 1996-03-08 20:44:13 +00:00
mark c5e6adffe0 Removed dead wood from swi and undefined vector entry point code. 1996-03-08 20:37:59 +00:00
mark d2a9bb0b96 Config files updated to specify interrupt numbers for wd, fd, com and
lpt drivers.
1996-03-08 20:35:28 +00:00
mark ea1eb0f702 Added calls to spl_setmasks().
Remove the irq_setmasks() routine. This was coded in assembly months ago
and this C version is now out of date.
Added code for delivering IRQ_SOFTCLOCK.
1996-03-08 20:35:08 +00:00
mark 2a40f64a5d Fixed the formatting of the debug output. 1996-03-08 20:14:48 +00:00
mark 95b04c378b Updated for new spl macros.
Added missing #ifdef DIAGNOSTIC round the checks in setrunqueue().
Remove dead commented out code fragments.
Removed checksumming of kernel stack during context switches.
1996-03-08 20:03:12 +00:00
mark 7a9dc6a41a Inclusion of machine/psl.h is no longer dependant on _LOCORE being not
defined.
1996-03-08 19:08:28 +00:00
mark 5254468ebb setjmp() and longjmp() now use a buffer whose size is that of label_t
rather than one that was 44 bytes bigger. No wonder DDB was not working
properly.
1996-03-08 19:03:11 +00:00
mark 33405882d3 The microtime() function now works fine all the time.
Removed some old commented out code.
1996-03-08 18:57:41 +00:00
mark 868a5d45f6 Updated diagnostic code regarding the changes in the splxxx() functions
and determining the current spl level.
1996-03-08 18:54:55 +00:00
mark 85d00ef7b5 Added a couple of miscellaneous spl functions e.g. dumping spl
masks.
1996-03-08 18:41:52 +00:00
mark 2d5be5faa9 Commit of the new assembly spl functions splx(), raisespl() and
lowerspl() to go with the new spl macros in psl.h
1996-03-08 18:03:15 +00:00
mark 90a4655005 Added files for the generic sbic driver. (sbic.c)
Added files for the asc driver (asc.c)
Added assembly file for spl functions (spl.S)
Added machine dependant debugger commands file. (db_machdep.c)
1996-03-08 18:02:23 +00:00
mark 409de3efcc spl.c is no longer needed. Most of its functions have been replaced
with macros in psl.h. The spl functions splx() raisespl() and lowerspl()
are now coded in assembly.
1996-03-08 17:50:46 +00:00
mark 9deb24c84d Corrected spelling mistakes in comments. 1996-03-08 17:11:13 +00:00
mark 57fbb17f0e Replaced the splxxx() functions prototypes with macros.
Added prototypes for two new functions raisespl() and lowerspl().
Added definititions of the various spl levels.
1996-03-08 16:35:17 +00:00
mark 50b27325dd Removed all the early (and now redundant) keyboard polling and interrupt
buffer. The new polling function for cngetc() works a lot better and
is stable.
1996-03-08 16:28:54 +00:00
mark 7b3a5bb292 Fixed prototype declaration of shell(). 1996-03-08 16:25:07 +00:00
mark 1014c385d8 Added NetBSD tag. 1996-03-08 16:24:51 +00:00
mark 00af8622e0 Added NetBSD tag. Reformatted source kernel in line with the style
guide.
1996-03-08 16:22:38 +00:00
mark 095bb565ba Files for the new Acorn SCSI driver that uses the generic SBIC driver
code. This is a much better version that does not trash your HD.
1996-03-07 23:54:28 +00:00
mark 3506c48c2a opps forgot to remove this as well. Part of the old and BUGGED Acorn
SCSI driver.
1996-03-07 23:50:33 +00:00
mark 169a40e0cf These files represent the old and BUGGED Acorn SCSI driver.
They are replaced with a new Acorn SCSI driver based on the SBIC
generic SCSI code.
1996-03-07 23:45:24 +00:00
leo 6da2ce259c Allow for a machine dependent match function - rd_match_hook() 1996-03-07 10:25:28 +00:00
mark 385c194369 Added #ifndef guards round the timeout macros so values can be
overridden in the config file.
1996-03-06 23:56:59 +00:00
mark 34e0ef97c0 Code reformatted to make it a bit more readable and brings it inline
with a lot of the style guide.
1996-03-06 23:53:13 +00:00
mark ed2051c4d9 Use cngetc() instead of WaitforKey(). 1996-03-06 23:52:15 +00:00
mark 27284def2a Removed a lot of redundant routines used during debugging.
Eventually this file can go completely when DDB is completely
working.
1996-03-06 23:50:14 +00:00
mark 8429ee71c5 Initial commit of generic sbic (WD3393) SCSI driver code based on the
amiga sbic driver.
1996-03-06 23:44:09 +00:00
mark 619d2dcd72 Removed redundant code related to managing a history buffer
in the readstring() routine.
1996-03-06 23:44:07 +00:00
mark a66ed3abac Initial commit of generic sbic (WD3393) SCSI driver code based on the
amiga sbic driver.
1996-03-06 23:44:06 +00:00
mark a629b79a66 Fixed reporting of errors when claiming podule interrupts. 1996-03-06 23:33:14 +00:00
mark b702c67c74 Pickup IRQ number from configuration file via mainbus_attach_args
instead being fixed in a header file.
1996-03-06 23:30:58 +00:00
mark e766702f7e Fixed IOMD identification during device probing. 1996-03-06 23:26:20 +00:00
mark bdb7e8955c Reformatted code to suit style guide.
Fixed IOMD identification during driver probing.
1996-03-06 23:24:52 +00:00
mark 7f57d7bda6 Commented out macros for IRQ bits that are now set in the config file.
Added definition of the IRQ_SOFTCLOCK bit.
1996-03-06 23:22:56 +00:00
mark a88b7466b9 Added structures to describe RISCiX partition tables. 1996-03-06 23:17:51 +00:00
mark 4da86891fc Add support for software single stepping.
Define SOFTWARE_SSTEP for the ddb code.
1996-03-06 23:16:54 +00:00
mark daf2144c3a Removed redundant boot parameters relating to swap sizes. 1996-03-06 23:11:36 +00:00
mark 49cf80b1b2 Initial commit of machine dependant debugger functions. 1996-03-06 23:08:36 +00:00
mark bcfc2f794a Fixed the typedef of label_t to be 11 words as required by setjmp and
longjmp in locore.S
1996-03-06 23:04:04 +00:00
mark f380bafdee Added to code fixup the pc on entry to the debugger.
Added funtions for software single stepping.
1996-03-06 23:01:49 +00:00
mark e6e9c2985e Added stack frame structure for debugger tracebacks. 1996-03-06 22:53:50 +00:00
mark 32e37aa2c9 Code now actually performs a stack traceback. 1996-03-06 22:49:51 +00:00
mark 9e18e78df6 Fixed multiple miscellaneous bugs. Fixed the case of some instruction
operands. Added support for dissassembly of more of the instruction set.
1996-03-06 22:46:37 +00:00
mark aeec9c8ac1 Added code to locate the NetBSD disklabel on disks with RISCiX partition
tables.
1996-03-06 22:43:11 +00:00
cgd 18ec26aa21 add _MACHINE and _MACHINE_ARCH, which are like MACHINE and MACHINE_ARCH,
execpt without quotes.  meant to be __CONCAT()ted for easy #includes
of machine-dependent headers for MI code (e.g. for the MI ISA/EISA/PCI/TC
bus code).
1996-03-04 05:04:10 +00:00
cgd 1c5d7babe5 Clean up tabbing/spacing in defns of MACHINE, MACHINE_ARCH, and MID_MACHINE. 1996-03-01 23:30:08 +00:00
cgd 3d67685d36 Do not build vnode_if.[ch] for each kernel. Build them once, like the
various syscall sources/headers, and just compile them.  From PR 2142, OK'd
by mycroft.
1996-02-29 20:54:58 +00:00
mycroft 2ce52ae489 Define build programs with `?=', so they can be overridden with `makeoptions'. 1996-02-26 02:53:20 +00:00
mark c1b23518d2 ARM FPE is now secure i.e. user processes cannot use FP instructions
to access kernel memory.
1996-02-23 22:20:43 +00:00
mark a01675725c Added #ifdef FPE guard. 1996-02-23 18:50:56 +00:00
mark 905de8df55 Remove prototype for strcmp() as this is in libkern.h 1996-02-22 23:31:51 +00:00
mark c3833aaabe Opps, what was a delay() prototype doing here. 1996-02-22 23:25:10 +00:00
mark 88be357d42 Fixed declaration of a debugging variable. 1996-02-22 23:03:44 +00:00
mark 7b9c8753a7 Added #ifdef guards round the FPE initialisation calls. 1996-02-22 22:56:16 +00:00
mark 66198928f8 Fixed several function declarations. 1996-02-22 22:51:14 +00:00
mark 2c74bc8511 Removed some dead code and fixed several function declarations. 1996-02-22 22:48:05 +00:00
mark f266edf8b8 Default to running an FPA at full speed. Updated delay() to take an
unsigned int.
1996-02-22 22:44:58 +00:00
mark 9a3e71626d Fixed a little bug that zeroed the first couple of words of the symbol
table when the bss is zeroed.
1996-02-22 22:41:31 +00:00
mark 80684b67bc Fixed registration of the symbol table. 1996-02-22 22:38:48 +00:00
mark 6a3087958a Add #ifdef _LOCORE round delay() prototype and move DELAY macro
to param.h as well.
1996-02-22 22:21:55 +00:00
mark 9777b1173f Thought I had already removed this ... Junk file that got checked in
due to finger trouble.
1996-02-22 17:46:24 +00:00
mark bfad88d38d Added prototype declaration of delay(). 1996-02-16 23:29:45 +00:00
mark f741f471f6 Added new routine for polling the keyboard. 1996-02-15 23:24:44 +00:00
mark 7e883ebf5b Fixed kernel panic when the debugger called cngetc(). 1996-02-15 22:54:45 +00:00
mark 23d71d4d59 Fixed undefined instruction handler chaining. The FPE will now correctly
pass on an undefined instruction if it was not an FP instruction.
1996-02-15 22:45:21 +00:00
mark ab9201ff05 Replacement for armfpe.c. This is much nicer. 1996-02-15 22:44:31 +00:00
mark 1f4ced2016 armfpe.c was messy. Removing it in and replacing its function with
armfpe.s
1996-02-15 22:42:17 +00:00
mark b5acab13ca Added files for machine specific debugger code
armfpe.c replaced with armfpe.s
1996-02-15 22:40:08 +00:00
mark 6f2a81d3e1 Initial commit of the machine dependant in-kernel debugger code. 1996-02-15 22:37:13 +00:00
mark 63b7c56cb6 Added setjmp and longjmp routines for the debugger. 1996-02-15 22:15:21 +00:00
mark b5a6e0bbf9 Added initialisation hooks for DDB. 1996-02-15 22:07:11 +00:00
mark 443bbc1025 Fixed disassembly of LDR & STR instructions, shifts by a register are
not allowed and count as undefined instructions.
1996-02-15 22:05:20 +00:00
mark f69e31fcc1 Initial commit of the machine specific header for the in-kernel
debugger.
1996-02-15 21:54:30 +00:00
mark f134e05316 Fixed performance problems caused by the ring buffer becoming flodded when
multiple packets were being received due to not flushing newly received
packets from the ring buffer between receiving an interupt and pulling
in the packets.
1996-02-15 21:48:59 +00:00
mark 5ef42fccf7 Removed debug printing from lpt interrupt routine. 1996-02-15 21:33:52 +00:00
mark 6de3d0fb2e Replaced missing $ on one of the mkdep lines. 1996-02-13 23:29:14 +00:00
christos 3306495d82 delete pmap_page_index declaration; now in <vm/pmap.h> 1996-02-12 21:25:18 +00:00
mycroft 753fe3a25a Fix mkdep problems due to missing flags. 1996-02-09 02:21:13 +00:00
mark b92a2f676a patch from rob black to fix support for 1bpp Xservers. 1996-02-07 19:11:02 +00:00
mark a725f894c6 Added -fno-builtin flag for braindead version of gcc currently used by
the arm32 port.
1996-02-05 23:49:49 +00:00
mark 6b36adcad6 Define TRAPFRAMESIZE to be the size of a trapframe in bytes. 1996-02-05 23:24:50 +00:00
mark a70b546c49 Added extra comments to help explain what the code is doing. 1996-02-05 22:43:53 +00:00
mark 66e7b4b999 ramdisk boot loading code now condition on RAMDISK_HOOKS being defined. 1996-02-05 21:43:40 +00:00
mark 25aa4f48b1 Updated to used NHYDRABUS to determine if hydrabus device should be
supported.
1996-02-05 21:25:33 +00:00
mark 82a8316c02 cpus can now be attached to hydrabus as well as mainbus. 1996-02-05 21:01:34 +00:00
mark ceae6db272 The data abort handler now fixes the base register in co-processor
data transfer instructions that use writeback. i.e. LDC/STC instructions.
Hardware LDF/STF instructions are now correctly handled.
1996-02-05 17:31:33 +00:00
mark 4909105de6 Updated development history 1996-02-05 17:21:31 +00:00
mark 94fa0b2f1b post instruction emulation callback now expects a trapframe structure
to be passed as well as the fp frame.
FPE<->kernel glue code now builds a trapframe structure for passing in
and out of the post instruction emulation callback.
Signal delivery during FP emulation now works correctly.
1996-02-05 16:51:52 +00:00
mark 20c26bade4 Removed redundant debugging text. Minor code tidy ups. 1996-02-05 16:49:01 +00:00
mark bd04466b08 Configuration files updated to support latest options and devices 1996-02-05 16:34:51 +00:00
mycroft 5bc076e17e Use `-traditional-cpp' when building .s and .S files. 1996-02-03 00:43:50 +00:00
mark b32ae66ae6 Ramdisk device now defaults to a size of zero if RAMDISK_SIZE is
undefined.
1996-02-02 20:23:00 +00:00
mycroft dcd66e9f4d Clone these, and fix many bugs. 1996-02-02 20:08:17 +00:00
mycroft 9db20bf150 Don't define _KERNEL here. 1996-02-02 19:42:08 +00:00
mycroft 9d9a70a5a2 Fix #includes. 1996-02-02 18:05:36 +00:00
mycroft fc9d84fb46 assym.s -> assym.h
(Some ports did this already.)
1996-02-02 02:34:09 +00:00
mark 6b8930c21c Fixed the panic in the terminal code caused by a mode change ioctl on
the vidcvideo device.
1996-02-01 23:50:20 +00:00
mycroft 88e512b693 LOCORE -> _LOCORE 1996-02-01 22:28:24 +00:00
mark 0705e7dfd1 Initial commit of the NetBSD/arm32 port. 1996-01-31 23:24:54 +00:00
mark 386ad2ff0f Initial commit of the NetBSD/arm32 port. 1996-01-31 23:14:53 +00:00