Commit Graph

9038 Commits

Author SHA1 Message Date
mark
c2a3d7ad3c Cleaned up comments.
Removed suspect FPA probing code, instead use the ARM FPE to probe the FPA.
Neatened up the FPE attachment code.
Recognise StrongARM class of cpu.
Updated the fpa instruction bounce handler to expect a 4th argument
when called on an undefined trap to match recent changes made to
undefined handlers.
1996-10-15 21:26:25 +00:00
mark
46ee6bf856 Added support for the RC7500 and the lmc1982.
Added support for the A7000.
1996-10-15 21:20:15 +00:00
mark
c69e8d2559 Initial commit of the lmc audio driver for the lmc1982 found on RC7500
motherboards.
1996-10-15 21:10:24 +00:00
mark
c107a98f8b Tidied up the comments.
Removed the debugging code for vnode hangs now that this has been fixed
in the mi code.
1996-10-15 21:08:37 +00:00
mark
e7e591d3b5 Separated out the function to place records in the mouse buffer.
Add acknowledgement records to the buffer following origin or bounding
box changes.
Removed prototype for strncmp().
Added support for switch mouse reports between absolute and relative
positions.
1996-10-15 21:06:51 +00:00
mark
65b094f18f Pull in all the recent changes made the dev/isa/com.c driver.
These are all the changes made between 1.81 and 1.88.
1996-10-15 21:00:55 +00:00
leo
5038453647 Initialisation of proc0->p_addr. (Gordon Ross)
This, in conjunction with the trap.c changes, solve the crashes when
referencing illegal addresses in the debugger. Thanks Jason for providing
the trigger and solution ;-)
1996-10-15 20:51:59 +00:00
leo
a51538a2c6 - Some re-arrangements that make tracking of the hp300 version easier.
- Re-write panictrap() so that faults generated by the debugger can be
  handled by the debugger.
- Add a small bit of extra checking to the MMU_FAULT case, to make it more
  robust against pieces of the proc-structure being NULL (Jason Thorpe)
- If p == NULL at the entry of trap(), assign proc0 to it. Fixes a *lot* of
  NULL-pointer dereferences. (Gordon Ross)
1996-10-15 20:46:45 +00:00
mark
8f75693ba4 Get the IIC clock and data bit masks correct on RC7500 boards. 1996-10-15 20:40:31 +00:00
mark
538cb0ef13 Recognise all ARM7500 systesm rather than just RC7500 during probing.
Fixed kbdpoll().
1996-10-15 19:47:04 +00:00
mark
4b50267049 Make the device probe generic to all ARM7500 systems rather than
just RC7500 systems.
1996-10-15 19:37:06 +00:00
mark
3f201e3de4 For RC7500 kernels treat drive type 0x00 the same as drive type 0x10. 1996-10-15 19:31:35 +00:00
mark
63b78f14d6 Cleaned up rtcread().
Implemented rtcwrite() so that the RTC can be set via /dev/rtc?
1996-10-15 19:28:01 +00:00
mark
583b16b82a Added comments to interrupt return points. 1996-10-15 15:51:56 +00:00
mark
a6ee3b3fa9 Not needed as this config is practically identical to PHARM. 1996-10-15 15:43:28 +00:00
scottr
a6bbf8fc5b Define MACH_CLASSQ2, used by Performa 575.
Remove susword() because of prototype conflict with <sys/systm.h>.
1996-10-15 14:42:49 +00:00
scottr
b599d4a3f6 We no longer need 'options GENERIC' 1996-10-15 07:25:55 +00:00
scottr
dca6a7e025 Critical fix from Bill Studenmund: if CTS is deasserted and then
immediately reasserted before we get a chance to process the interrupt,
we can inadvertantly get stuck with zs_tx_stopped set.  Move the delta
detection to the hard zs interrupt handler; the softint handler
will notice that something has happened with CTS and restart the
transmitter if it's asserted.
1996-10-15 06:57:43 +00:00
scottr
6cd86aa894 BSD -> NetBSD 1996-10-15 06:41:48 +00:00
scottr
f4eeb69eab Several 68040/68LC040-related changes; we're not there yet, but this
brings us closer to basic operation.

  - Verified/updated ROM vector entries for many systems, and new vector
    table entries for LC 520, LC 575/577/578, and Quadra 950
  - Implement a new machine class (MACH_CLASSQ2) for the LC 575 series
  - Use the ptest040() helper function in get_physical().

Also, in straytrap(), only enter the debugger #ifdef DDB.
1996-10-15 06:40:39 +00:00
scottr
31d8d5c176 Implement ptest040(), a helper for get_physical(). 1996-10-15 06:31:07 +00:00
mark
0ecc08d0df Removed loads of old debugging code and special swi codes used during
earlier stages of the NetBSD/arm32 development.
Added support for the architecture defined SWI's. Currently
The IMB and IMB-range architecture defined SWI's for the ARM810 are
currently recognised.
Various comments cleaned up.
1996-10-15 03:08:45 +00:00
mark
cbf4892982 Find the mode with the closest frame rate to the one requested if an
exact match cannot be found rather than picking the lowest frame rate.
1996-10-15 02:33:28 +00:00
mark
a3f71d635a Use arm_fpe_getcontext() and arm_fpe_setcontext() to retrieve the
FP state for process_read_fpregs() and process_write_fpregs().
1996-10-15 02:26:11 +00:00
mark
760efeadb3 The undefined handlers now have a fourth argument which is a fault code.
Catch the user breakpoint instruction and generate a SIGTRAP.
1996-10-15 02:14:21 +00:00
mark
59ffb0612b Merged in latest KGDB changes from Wolfgang Solfrank. 1996-10-15 02:11:31 +00:00
mark
4b88966792 Merged in the KGDB changes to locore.S from Wolfgang.
Added the functions atmoic_set_bit() and atomic_clear_bit() that
can be used for setting and clearings bits atomically (need interrupts
to be turned off).
1996-10-15 02:10:17 +00:00
mark
b24dfb3713 Removed dead kernel stack debugging code from the days when we had
a double mapped stack.
Guard the SVC32 and UND32 mode stack check code with #ifdef
STACKCHECKS.
1996-10-15 02:07:08 +00:00
mark
febe210c2f Call mcount() from bcopy() and memcpy() is GPROF and PROFILE_ASM are
defined.
Replaced references to r14 with lr.
1996-10-15 02:04:40 +00:00
mark
dab3173f56 Not needed as the assembly stub for mcount() is defined in
machine/profile.h
1996-10-15 02:00:47 +00:00
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