bjh21
bd6d4d6b77
Use <arm/param.h> to get shared definitions.
2001-08-07 22:26:56 +00:00
chris
fa4e4d9668
Rework the pmap_release code to not have to walk the ptpt, it now uses a uvm_object to track the allocated vm_pages, this means it can free off the entries in the uvm_object.
...
Testing shows that it's about 5% faster on the make configure step for gmake.
2001-07-29 12:45:27 +00:00
chris
89415a32e2
PR 13581
...
Add empty pmap.h and vmparam.h to make userland happier.
2001-07-29 09:50:07 +00:00
chris
af16732a3a
Fix for PR 13580.
...
Make sysarch include sys/stdint.h so it picks up the a definition of uintptr_t.
2001-07-29 08:37:56 +00:00
chris
9f04d8d670
A couple of tidy ups to pmap:
...
pmap_t -> struct pmap * in pmap.c and pmap.h
kernel_pmap -> pmap_kernel() everywhere.
Compiled and booted on riscpc and cats.
2001-07-28 18:12:43 +00:00
matt
36dc943f75
Change ARM-ELF to LP64 friendly types.
2001-07-28 07:42:28 +00:00
matt
384a403ca5
Make sync_icache_args use more standard types.
2001-07-23 17:04:27 +00:00
thorpej
babefc5331
Add BUS_DMA_READ and BUS_DMA_WRITE flags, that hint the back-end
...
at dmamap load time that the mapping will be used for a unidirectional
transfer of the specified direction.
2001-07-19 15:32:10 +00:00
rjs
c1539a6ba2
Add Jazelle mode flag.
2001-07-18 16:31:17 +00:00
matt
bb9bd28fa8
Change way PIC stuff is emitted for ELF to be more flexible.
2001-07-16 05:43:32 +00:00
matt
59ce75e3e7
Need to emit PLT magic for PIC ELF files.
2001-07-16 05:42:50 +00:00
matt
7a4fca28c6
Add a GOTSYM which emits the right stuff to GOT symbols under ELF and/or
...
a.out.
2001-07-14 18:24:41 +00:00
matt
497b990687
Clarify when/where MACHINE & MACHINE_ARCH are defined. Add default
...
user-visible definitions.
2001-07-14 07:31:31 +00:00
matt
24a2b394aa
Make <sysarch.h> valid for all arm platforms. Adjust/remove port-specific
...
includes as required.
2001-07-14 00:23:09 +00:00
matt
c5e61ec6d5
Move user-visible MBUF constant here. Define MAXPHYS. Include DEV_BSIZE
2001-07-13 19:43:15 +00:00
bjh21
ea353a48e1
Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed.
2001-07-10 20:43:57 +00:00
reinoud
8ca7d6ec9c
Initial commit for merging A7000/NC with the RISCPC in order to get _one_
...
bootable GENERAL kernel for the 3 machines.
This is done by integrating the ARM7500 in a better way. In various places
the IOMD ID is checked and action is taken at runtime compared to
compiletime.
The small piece of assembler that is changed now uses the flag
`arm7500_ioc_found' that is set up by iomd.c at startup. When this chip
isnt found at startup it will skip reading the ARM7500 extended IRQ
registers and wont clear them either.
The next step will be getting the mode-definition files to the bootloader.
Currently they are compiled in.
2001-07-09 21:46:19 +00:00
chris
b8ceed365f
Improve the vac_me_harder function, it is now slightly faster, however pmap_enter_pv is also now slightly slower, so they appear to balance out.
...
Note that I've some ideas in the works on how to improve the pv handling, so the slow down is short term only.
Also added non-advertising licence and copyright to myself and richard.
2001-06-25 23:22:38 +00:00
bjh21
690f56e57a
Add a common <arm/param.h>, containing those few things that are obviously
...
common across all ARM systems.
2001-06-23 13:25:19 +00:00
bjh21
3622d4e282
Add <arm/endian.h> and remove the cats, dnard and netwinder versions, since
...
they're all the same (a redirect to <sys/endian.h>).
2001-06-23 12:20:27 +00:00
chris
c3b7efe5d3
GC a couple of unused entries in the pmap struct
2001-06-22 09:12:11 +00:00
bjh21
80c5d7ab99
Move <arm/arm32/bus.h> to <arm/bus.h>, since it looks like it's going to be
...
necessary on arm26 as well.
2001-06-18 21:37:32 +00:00
thorpej
8eb3b954f1
Don't need to prototype child_return() here, it's in <sys/proc.h>.
2001-06-14 22:56:55 +00:00
bjh21
261bd8f8ac
Add get_pc_str_offset(), which returns the offset between the address of an
...
instruction that stores the program counter and the value of PC that's stored.
This can vary between ARM implementations, but is guaranteed to be constant on
a given one.
2001-06-05 09:19:32 +00:00
chris
878db7cfb8
Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
...
Shouldn't effect any currently in tree ports.
2001-06-03 18:32:33 +00:00
bjh21
54a986d7fc
Replace arm6_dataabt_fixup() and arm7_dataabt_fixup() with early_abort_fixup()
...
and late_abort_fixup(), based on the abort model in use, rather than the CPU
type. This cleans up the code and makes it smaller. Only tested on an
ARM6 -- I can't find my ARM710a card right now.
2001-06-02 21:03:32 +00:00
bjh21
7089595665
Initial cpufunc operations for ARM3. Not actually used yet.
2001-06-02 19:01:03 +00:00
bjh21
ac0d39dfe8
Add write_multi_1().
2001-06-02 10:44:56 +00:00
mrg
67afbd6270
use _KERNEL_OPT
2001-05-30 11:57:16 +00:00
bjh21
f15491e9d3
Move the declarations of blockio.S functions from katelib.h to a new, exciting
...
<arm/blockio.h>. katelib.h includes it for compatibility.
2001-05-30 00:16:36 +00:00
chs
e44e9dec8a
replace vm_page_t with struct vm_page *.
2001-05-26 21:27:02 +00:00
chs
118ddca24a
replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}.
2001-05-26 16:32:40 +00:00
bjh21
b9ded015f4
strstr() is no longer used in the kernel. G/C it.
2001-05-13 14:17:36 +00:00
bjh21
0ea71ec5ea
Make use of a.out or ELF symbols dependent on the compile-time definition of
...
__ELF__.
2001-05-13 13:51:08 +00:00
bjh21
2af5062ab7
Add <machine/bootconfig.h> on arm26, and add an <arm/bootconfig.h> for it to
...
include (since all the contents are MI).
2001-05-13 13:46:23 +00:00
simonb
6a511e05e2
Be consistent with limit constants:
...
- use "U" suffix for unsigned constants
- use "L" suffix for long constants
- use "UL" suffix for unsigned long constants
- use hexadecimal instead of decimal
Fixes build problems with vi (now that warnings/errors are enabled) on
mips, powerpc and arm platforms.
2001-05-04 15:12:32 +00:00
bjh21
8afb876f73
Make the common <arm/profile.h> work on arm26 and arm32, choosing whether
...
to munge R15 or not at runtime. Also make it work with both ELF and a.out.
2001-05-04 00:11:15 +00:00
kleink
fe3c9ceaf7
* Move definitions of exact-width integer types from <machine/types.h>
...
to <sys/types.h> and <sys/stdint.h>.
* Add a new C99 <stdint.h> header, which provides integer types of
explicit width, related limits and integer constant macros.
* Extend <inttypes.h> to provide <stdint.h> definitions and format
macros for printf() and scanf().
* Add C99 strtoimax() and strtoumax() functions.
* Use the latter within scanf().
* Add C99 %j, %t and %z printf()/scanf() conversions for
intmax_t, pointer-type and size_t arguments.
2001-04-28 15:41:28 +00:00
bjh21
3a7710b605
Add ELF version of _PROF_PROLOGUE.
2001-04-26 23:20:02 +00:00
kleink
99054d7a6c
Add definitions for C99 fastest minimum-width integer types.
2001-04-26 16:25:19 +00:00
bjh21
63692f5771
Rather large overhaul. Mostly cosmetic, but also:
...
Provide PROC_PC on arm26.
Provide working CLKF_INTR on arm26.
Make setsoftast a macro everywhere.
2001-04-24 18:20:21 +00:00
thorpej
69abdbf60c
Undo a misguided previous change to the pmap_update() API.
2001-04-22 23:19:26 +00:00
thorpej
4738622712
Give pmap_update() an argument (a pmap_t) so that it knows which
...
pmap it should be updating.
2001-04-22 00:33:59 +00:00
thorpej
82065e8a0b
Update the comment for pmap_update().
2001-04-21 17:13:12 +00:00
bjh21
630f137a5e
Multiple-inclusion protection.
2001-04-21 15:47:32 +00:00
matt
1a5fe5b583
Split cpu from mainbus so that cpu can attached to other buses (like ofbus).
2001-04-20 18:08:48 +00:00
kleink
f06533a1ee
Add definitions of C99 integer format conversion macros.
...
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 17:13:04 +00:00
kleink
739cb75837
Add definitions of C99 specified-width integer type limits.
...
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 15:29:02 +00:00
kleink
cdcf9f46c5
Add definitions of C99 integer constant macros.
...
Tidy Makefiles up a little.
2001-04-14 22:46:19 +00:00
kleink
a7c20e5788
Add definitions of C99 integer constant macros.
2001-04-14 22:38:33 +00:00
kleink
7affdab52e
Add definitions of C99 minimum-width and greatest-width integer types.
...
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-14 12:19:49 +00:00
thorpej
bf2dcec4f5
Remove the use of splimp() from the NetBSD kernel. splnet()
...
and only splnet() is allowed for the protection of data structures
used by network devices.
2001-04-13 23:29:55 +00:00
kleink
9133b51cd8
Replace the 'unsigned __COMPILER_INT64__' construct with a new name,
...
__COMPILER_UINT64__, to be supplied - if such a case is made, it shouldn't
be assumed that the unsigned type-specifier may be applied to it.
2001-04-12 22:01:18 +00:00
toshii
dfddb1e107
Increase spl_masks[] size by one and set the extra element to 0.
...
irq_entry accesses here.
2001-03-31 12:22:37 +00:00
bjh21
ce5529eabf
Change undefined instruction handler to use a linked list for each
...
co-processor. This is necessary so we can have several handlers for
CP0 (used as a catch-all for non-CP instructions).
Handlers are now removed using remove_coproc_handler(), rather than by calling
install_coproc_handler() with a NULL handler.
Because install_coproc_handler() can now allocate memory, there's a version
for use at boot time that doesn't.
2001-03-11 16:18:39 +00:00
bjh21
4624a1247e
Make this suitable for use on arm26 as well.
2001-03-11 16:02:21 +00:00
bjh21
f61ad8fa80
G/C more unused elements of struct _cpu.
2001-03-11 00:14:56 +00:00
bjh21
b362a4bef3
Change the meaning of cpu_class. It now has one value for each core we
...
support, which corresponds to one for each CPU_* option, or one for each
cpufunc structure.
Also remove some more residual code for the support of multiple and non-ARM
CPUs.
2001-03-10 20:15:46 +00:00
rearnsha
bf5e18af99
Add param.h to INCS.
2001-03-10 18:32:25 +00:00
bjh21
0bcb071684
Correct CPU_ID_ISOLD() and CPU_ID_IS7().
2001-03-10 16:19:59 +00:00
thorpej
2c4c690f14
Add the BUS_DMA_STREAMING flag.
2001-03-07 22:42:16 +00:00
bjh21
4ada0ac792
Create cpufunc_null_fixup() to replace all the CPU-specific abort-fixup
...
routines that did nothing.
2001-03-06 22:29:13 +00:00
matt
d6fc837c17
more vm_offset_t/vm_size_t -> {p,v}{addr,size}_t changes
...
move pmap_* declarations to pmap.h. fix conflicts this
exposed (e.g different definitions for pmap_bootstrap).
2001-03-04 19:05:55 +00:00
bjh21
aa34be4532
Make "options ARMFPE" work again.
...
Mostly due to Richard Earnshaw.
2001-03-04 14:32:12 +00:00
bjh21
ab8e9aaefd
Add CPU ID for ARM7500FE (determined empirically from two I've got here).
2001-03-04 14:26:26 +00:00
matt
93c0e77b0f
Only define MACHINE & MACHINE_ARCH in port-dependent param.h.
...
Everything else (since it's common) is from <arm/arm32/param.h>
2001-03-04 08:28:51 +00:00
matt
4679f9115c
Convert some vm_size_t to vsize_t/psize_t. Change vaddr_t to paddr_t
...
where appropriate.
2001-03-04 07:30:19 +00:00
matt
7af4578cfc
s/vm_offset_t/vaddr_t/g
2001-03-04 03:40:58 +00:00
bjh21
40333cf8fd
Kill cpu_host and cpu_flags: they weren't having any practical effect.
2001-03-03 21:34:00 +00:00
bjh21
5b15e666a1
ARM7100 -> ARM710A, following information from reinoud.
2001-03-01 23:45:56 +00:00
bjh21
c25aec3d9f
PCB convergence, part the first:
...
Move the pointer to the current user trapframe from struct mdproc to struct
pcb (as on arm26). Only tested by compiling kernels on arm32 and
hpcarm (dnard seems to be incomplete anyway). Someone should try running one.
2001-02-28 18:15:42 +00:00
bjh21
b4e78a4e60
Large overhaul for arm26 compatibility. This file is now even more of a mess
...
than it was.
2001-02-28 00:17:18 +00:00
bjh21
22260fa7fd
Tidy up ARM7500 restrictions.
...
Also insist on precisely one of PROG32 and PROG26's being turned on.
2001-02-27 17:35:49 +00:00
reinoud
5b52fda1e6
cpu_number() macro has no args
2001-02-27 16:00:27 +00:00
reinoud
639dd9ffea
Rollback of patch ... there was a bug in the proc.h
2001-02-27 15:39:57 +00:00
reinoud
38fb2a9227
Due to changes in ../sys/proc.h ``cpu_wait(p)'' is now a function due to the
...
prototype defined it in ... added it to arm/vm_machdep.c since all ARM machines
are still single processor anyway
2001-02-27 00:16:48 +00:00
bjh21
5a5316cafe
Nothing in this file needs <sys/param.h>, so stop including it.
2001-02-26 16:04:22 +00:00
bjh21
51a131dac3
The cpu_local and cpu_cd elements of struct _cpu were utterly unused. Remove
...
them.
2001-02-26 14:52:11 +00:00
reinoud
bb5b27eed9
Putting the param.h back into the arm32 resp. hpcarm include directories
2001-02-26 00:08:41 +00:00
bjh21
3fb058011a
Move arm32 ports over to using <arm/armreg.h>, so <cpu.h> mostly contains
...
NetBSD-specific definitions.
This also entails some changes to the way CPU identification is done. I hope
I've got it right.
2001-02-25 21:31:13 +00:00
bjh21
bdc357ddfa
Guess a CPU ID for the ARM700 as well.
2001-02-25 19:10:28 +00:00
bjh21
c7c73cbe90
The cpu_type element of struct _cpu was only used in identify_arm_cpu().
...
Make it a local variable.
2001-02-25 18:40:26 +00:00
bjh21
9dcb8e583c
Add possible CPU ID for ARM7500 (based on arm/cpu.h).
...
Add macros to distinguish the three formats of CPU ID.
2001-02-25 17:49:34 +00:00
bjh21
716d92bdc2
COPY_SIGCODE is never referenced in the kernel, and the comment attached to it
...
is out of date. Assume it's obsolete and g/c it.
2001-02-25 17:04:54 +00:00
toshii
f46f7e3e62
Make hpcarm kernel compile again.
2001-02-24 09:58:43 +00:00
ichiro
d3ce44c170
some include files added newly write into Makefile.
2001-02-24 07:24:36 +00:00
bjh21
6b7ad3aa3e
__HAVE_NWSCONS and __HAVE_DEVICE_REGISTER are MACHINE-dependent.
2001-02-23 22:02:43 +00:00
reinoud
c1f753f9b4
Big patch for merging common include files of the new hpcarm tree and the old arm32
...
tree into the new arm substree. All moved files are relinked with a stub that included
the file from the new location; this might be done better later.
2001-02-23 21:23:45 +00:00
bjh21
352dfb6c36
Update to support VFP formats. Also a half-hearted attempt at armeb support.
...
Note that I'm using __VFP_FP__ to indicate compilation with VFP-format
floating-point data. There doesn't (currently) seem to be a standard define
for this purpose. __VFP_FP__ was suggested by Richard Earnshaw.
2001-02-21 17:43:50 +00:00
bjh21
887895c344
Add CPU_ID_CPU_MASK. Different, but (I hope) more useful definition than
...
arm32 currently uses.
2001-02-21 17:41:58 +00:00
bjh21
32a800e5c0
Install <arm/endian_machdep.h>.
2001-02-17 14:57:08 +00:00
bjh21
8b601afaf3
Re-introduce <arm/endian_machdep.h>, this time using GCC's idea of the target
...
endianness.
2001-02-17 14:55:44 +00:00
simonb
e07c392eed
Fix typo in header filename.
2001-02-13 14:11:30 +00:00
bjh21
a4e55e0f13
Shared ARM ptrace(2) implementation. Mostly the same as the arm32
...
version, but with some #ifdefs for arm26.
Also, don't define PT_STEP, since we don't implement it. This should
reduce code size a little.
2001-02-11 17:03:04 +00:00
bjh21
9826a76781
Common <arm/reg.h> (and hence common struct reg) for ARM.
...
This is theoretically backward-incompatible on arm26, but GDB doesn't work there
yet anyway.
2001-02-11 14:51:55 +00:00
bjh21
1178bf4219
Initial potentially sharable <arm/armreg.h>. Used by all arm26 code.
2001-01-22 22:10:39 +00:00
bjh21
8805bd8b56
Unify arm26 and arm32 trapframe structures. The unified trapframe is the same
...
shape as the old arm32 one, but there are a few #defines to keep arm26 code
happy. Anything that depends on the precise shape of the trapframe,
and especially on being able to treat it as an array of registers, has been
updated.
2001-01-20 17:14:19 +00:00
bjh21
2c20803b63
Add extra constants defined by ARM ELF revision B01.
2001-01-18 23:50:50 +00:00
bjh21
2c89ce7e74
Add <arm/frame.h>, for shared stack frame structures. Currently, only sigframes
...
are common.
2001-01-18 21:48:25 +00:00
bjh21
e1e042445c
A bit of extra discussion based on the latest ARM ARM.
2001-01-18 20:42:03 +00:00