Commit Graph

102 Commits

Author SHA1 Message Date
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 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 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 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 6c06479d1c __P(()) -> __P((void)) on several prototypes to fix compiler warnings. 1997-01-26 01:56:20 +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 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
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 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 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 77f7e266f1 Added a definition for the maximum amount of kernel VM space buffers can
occupy.
1996-12-27 01:55:48 +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
jtc 9da5f60715 PROF -> GPROF 1996-11-30 02:48:57 +00:00
mark 5debc61be1 Added IOMD_ID macro to return the 16bit IOMD ID code. 1996-11-23 03:21:43 +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
jtc 16b48272c4 Define _BSD_CLOCKID_T_ and _BSD_TIMER_T_ 1996-11-15 22:38:45 +00:00
mark 7824cc4e83 Added definitions of the IOMD DMA registers. 1996-10-29 23:14:34 +00:00
mark 6ed8e72d96 Fix the pcb_fpstate field. 1996-10-17 02:37:48 +00:00
ws 31bdb14ed5 Rename recently checked in KGDB to IPKDB to resolve conflicts with older KGDB 1996-10-16 19:32:08 +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 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 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 b352e3549b Updated fpreg_t to match changes made to fp.h 1996-10-15 00:21:36 +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 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 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 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
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
cgd 472889f8e4 moved to aout_machdep.h (via repository copy) 1996-10-08 12:57:37 +00:00
mark 66d9ef4edb Updated with more info on the ARM7500 IOC/IOMD. 1996-08-21 20:00:50 +00:00