Commit Graph

2072 Commits

Author SHA1 Message Date
bjh21
255336b13c Migrate known-podules list from arch/arm32/podulebus to dev/podulebus. 2001-03-17 19:05:19 +00:00
bjh21
17b6222740 Small beginnings of podulebus convergence: Have podule drivers print colons
in attach messages, rather than doing it in podulebusprint().
2001-03-17 18:46:25 +00:00
chs
ac3bc537bd eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is:

KERN_SUCCESS			0
KERN_INVALID_ADDRESS		EFAULT
KERN_PROTECTION_FAILURE		EACCES
KERN_NO_SPACE			ENOMEM
KERN_INVALID_ARGUMENT		EINVAL
KERN_FAILURE			various, mostly turn into KASSERTs
KERN_RESOURCE_SHORTAGE		ENOMEM
KERN_NOT_RECEIVER		<unused>
KERN_NO_ACCESS			<unused>
KERN_PAGES_LOCKED		<unused>
2001-03-15 06:10:32 +00:00
toshii
300d398485 Move references to arm/arm/disksubr*.c from files.arm to
files.{arm26,arm32,dnard}.
2001-03-14 14:39:45 +00:00
bjh21
b01c113e98 ARM7TDMI != ARM7 for our purposes (it has an ARMv4 CP15). 2001-03-10 20:03:51 +00:00
bjh21
1f9f430e03 Patch from Richard Earnshaw:
Add some calls to drain the write buffers -- these are particularly
important when we are trying to synchronize I$ and D$.
2001-03-09 16:24:51 +00:00
bjh21
5a6e5a05e3 Increase the size of regions for which we use the single line flush
commands -- profiling shows this to be a major win over flushing the
entire cache (since the likelihood is that such lines won't be in the
cache anyway).

Patch supplied by Richard Earnshaw.
2001-03-09 16:17:19 +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
b7cd0eeaac Move arm32/arm32/ast.c to arm/arm32/ast.c 2001-03-06 07:52:35 +00:00
bjh21
83b8de43dd Move undefined.c from sys/arch/{arm32/arm32,hpcarm/hpcarm} to sys/arch/arm/arm
in preparation for making it usable on arm26 as well.
2001-03-05 23:06:14 +00:00
bjh21
25ec015449 Merge setregs() from sys/arch/arm32/arm32/machdep.c,
sys/arch/hpcarm/hpcarm/machdep.c and sys/arch/arm26/arm26/vm_machdep.c
into sys/arch/arm/arm/arm_machdep.c.
2001-03-04 23:25:00 +00:00
bjh21
88951e75fa Rather than using a list of CPU IDs, take a heuristic approach to working
out which set of functions to use.  This should help cope with the fact that
my list of CPU IDs is probably incomplete.
2001-03-04 23:13:29 +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
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
58438fb425 Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and
bcopy_page.S to arm/arm32 and remove port-local copies.
2001-03-04 08:25:38 +00:00
matt
aada69afd5 Synch with file movement. 2001-03-04 05:15:39 +00:00
matt
fb62f0c378 These have moved to ../../arm/arm (disksubr*.c) or ../../arm/arm32
(everything else).
2001-03-04 05:14:06 +00:00
matt
5d1d7ca9ca Remove a shark dependency in machdep. Use booted_kernel instead of
boot_kernel to be similiar to booted_device.
2001-03-04 01:50:53 +00:00
bjh21
c32dba2092 Remove support for /dev/cpu*. This code has never done anything useful anyway. 2001-03-03 18:04:34 +00:00
reinoud
5cc6423696 Fixed the bug that crept into giving support for moving IOMDs during startup.
Initially I gave it the type `int *iomd_base' but some macro's defined in
iomdreg.h calculated with the value asuming it to be an int ... thus all the
registers offsets were multiplied by four and that can only mean trouble !
The kernel boots again ever happily. Sorry for the inconvenience... it was
a good bug hunt though!
2001-03-02 01:46:57 +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
reinoud
4cb4b8642c Make it compile again... 2001-02-27 20:27:17 +00:00
reinoud
3500dc208f Centralise declaration of memc_base 2001-02-27 20:23:11 +00:00
reinoud
b8c8050369 Define iomd_base ... make it compile again 2001-02-27 19:57:51 +00:00
reinoud
5cd12d1f9e Make it compile again 2001-02-27 18:33:26 +00:00
reinoud
d4eb8fb142 Also forgot to declare the iomd_base. 2001-02-27 18:30:46 +00:00
reinoud
d35a86c1a6 Forgot to declare iomd_base since it isnt in iomdreg.h anymore due to the
inclusion of this file in assembler.
2001-02-27 18:29:36 +00:00
bjh21
4b483d7606 Move "options ARMFPE" to files.arm, so generic ARM files can use it. 2001-02-27 17:56:31 +00:00
bjh21
f983a837ed Add multiple-include protection, and include <machine/cpus.h> here (where
it was actually needed).
2001-02-26 16:40:00 +00:00
bjh21
d666817eff Remove unnecessary #include <machine/cpus.h>. 2001-02-26 15:59:54 +00:00
reinoud
9f68c8b2b1 Putting param.h back to arm32 include directory 2001-02-26 00:06:45 +00:00
reinoud
e4e4d358a0 Fixed IOMD remapping during boottime 2001-02-25 23:59:48 +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
846fe69958 Remove CPU_* options (they're in files.arm now -- for some reason I missed
this lot in the last commit).
2001-02-25 18:28:27 +00:00
reinoud
1a53c63fd7 Finally implemented the moving VIDC chip; this solves the red colour too at startup
for RiscPC, A7000 and RC7500. A better solution should be made but is currently
unavailable for all the VIDC stuff isnt using bus_space at all...
2001-02-25 17:17:55 +00:00
reinoud
142f62c206 Moved the mainbus files to the arm/conf/file.arm from the arm32 and the
hpcarm/conf/files.hpcarm
2001-02-24 21:43:01 +00:00
reinoud
7535275b7c Fixed the `slow printing' bug that occured with debugged kernels on RiscPC's.
When the IOMD isnt mapped and all is mapped 1:1 a read gives garbage and thus
the obscure feature that slows down printing (or halts it!) when the mouse
button is pressed during output to the vidcconsole gets allways activated.

Included a simple flag that signals if the IOMD is mapped; the delay routine
won't check the mouse if this flag is still clear.
2001-02-24 21:29:38 +00:00
reinoud
1267afb3b6 Make lm audio for RiscPC compile again 2001-02-24 20:12:40 +00:00
reinoud
b7b1d6b636 Make rc7500 compile again 2001-02-24 20:11:08 +00:00
reinoud
78a1b11faf Make arm32 RiscPC compile again 2001-02-24 20:08:53 +00:00
reinoud
286f491040 Changed an innocent looking but pretty expensive table walking in pmap.c
from DIAGNOSTIC to PMAP_DEBUG
2001-02-24 20:04:42 +00:00
reinoud
f583057770 Repaired a syntax fault in the files.[hpcarm,arm32] 2001-02-24 19:43:50 +00:00
reinoud
086a93939c Part 2 of merge.... the dissapearance of mainbus from arm32 and hpcarm;
these parts were a 100% the same and i've included the extensions made by
hpcarm in the tree.
Checked for occurence of MD parts; none found.
2001-02-24 19:38:01 +00:00
bjh21
6b7ad3aa3e __HAVE_NWSCONS and __HAVE_DEVICE_REGISTER are MACHINE-dependent. 2001-02-23 22:02:43 +00:00
reinoud
92493b7a32 Missed this file in the merge due to a typo ! 2001-02-23 21:27:46 +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
reinoud
ed2535fabd Changing rc7500 for naming change of vidcvideo to vidcconsole 2001-02-21 00:55:34 +00:00
reinoud
926ac33ffb Add newly renamed file for transition to new naming
vidcrender.c  is old vidcconsole.c
  vidcconsole.c is old vidcvideo.c
2001-02-21 00:53:36 +00:00
reinoud
37eca554a2 vidcvideo rename phase 2 : getting it to build again; tested ok 2001-02-21 00:51:26 +00:00
reinoud
23d7dbe67e Updated documentation about the bootloader 2001-02-20 22:58:34 +00:00
reinoud
f1d3c5daa6 Renamed vidcvideo configure option to vidcconsole wich covers the function
better and allows to clean up vidc tree by enabling the use of the term
vidcvideo for what it is : configuring video independent of choise of console
to allow implementation of wscons for RiscPC/A7000 and RC7500.
2001-02-20 22:49:55 +00:00
reinoud
68eaed4e53 Extended monitor file definition for AKF 85 (Phillips Brilliance 17'')
Some extra modes added and changed some mode definitions to better suit
my monitor.
2001-02-19 16:46:42 +00:00
bjh21
d03f5eac72 Some of this code is based on an old version of BBBB -- update the copyright
message to indicate this.
2001-02-19 15:54:16 +00:00
reinoud
73254cd1f4 Import of newest version ... checked for correct importing now ....
The import script needs some sophistication but its ok now...
2001-02-19 15:28:13 +00:00
reinoud
64ceee1d67 Fixed CVS directory overwriting by deleting it in the copy first; this to
prevent import trouble due to messed up CVS directories.
2001-02-19 14:32:45 +00:00
reinoud
0a46ddf1e2 Changed export script so it doesn't kill the CVS directory :) 2001-02-19 14:26:41 +00:00
reinoud
e263b21061 Another bug ... the extract archive wasnt build in the correct directory 2001-02-19 14:18:24 +00:00
reinoud
f3b8ca18f1 Fixed a small bug in the export script 2001-02-19 14:15:42 +00:00
reinoud
0085973034 Import of the new RISCOS bootloader in the CVS tree with import and export scripts.
Start version is v 0.91
2001-02-19 14:09:00 +00:00
bjh21
d7fca27e58 Garbage-collect vestigial support for the Simtec Hydra board. The main code
to support it was never committed to the tree, and it would probably need
major reworking anyway.
2001-02-19 13:29:39 +00:00
bjh21
504ce207cb Make the kenrel base address a variable. 2001-02-19 13:26:17 +00:00
simonb
d669e1cea8 Fix tyop. 2001-02-18 22:32:32 +00:00
reinoud
5fa30a864f fixed naming bug :( ... I should be more carefull 2001-02-18 12:42:31 +00:00
reinoud
7665787d5e Fix to solve PR arm32/9208 "RiscPC reboot hangs"
Due to the StrongARM support code in the cpu_reset() MC-function,
an instruction was executed to drain the write back buffer on StrongARM
processors (might even be armv4+).

Since ARM{6,7} don't recognize this instruction they will either except
for an illegal instruction on this or have undefined behaviour resulting
in an endless illegal instruction/data abort/reset behaviour.

The fix contains a flag that signals if the WB flush should be executed
or not for the detected processor.
2001-02-18 12:21:02 +00:00
reinoud
9dd76bf15d Updated the bootloader for RiscPC/A7000/NCs etc. remains compatible with the old bootloader by an COMPAT_OLD_BOOTLOADER option 2001-02-18 00:59:33 +00:00
reinoud
3043022c3a Added extra kernel vm by moving up vidc space 2001-02-18 00:56:42 +00:00
reinoud
a598ade96e Updated MAGIC number for new bootloader 2001-02-18 00:55:31 +00:00
reinoud
00b4361e08 Add compatibility option for old bootloader 2001-02-18 00:54:02 +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
bjh21
9b6de1da90 Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c.
Also ANSIfy it and use it on arm26.
2001-02-13 22:54:25 +00:00
bjh21
7b820f85da Fix to compile with current ne2000.c: ne2000_attach() now only takes two
arguments.
2001-02-13 19:17:13 +00:00
bjh21
284047a2b2 Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and
arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in
the process.

The code is based on the arm32 version, so I don't think anything should break
there.
2001-02-13 13:19:52 +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
tsutsui
6b047fe46b In footbridge_pci_intr_map(), pcv and intrtag are used
only #ifdef PCI_DEBUG. Move declarations in it.
2001-02-08 13:59:38 +00:00
tsutsui
276fc3f6b7 One more fix for pci_intr_map() API change. 2001-02-08 13:55:45 +00:00
jdolecek
8b24036797 Require the machine-dependant DDB commands to be in db_machine_command_table[]
and link it directly to db_command_table[] so that it's not necessary
to do this at runtime. Make db_machine_command_table[] const on all ports.
g/c now unneded stuff, like db_machine_commands_install(), db_machine_init()

Patch written by enami.
2001-01-22 13:56:55 +00:00
jdolecek
ecf8569ea6 make beep_waveform[] const 2001-01-22 13:31:45 +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
lukem
b01d829ec1 s/ea/eb/ in a couple of places 2001-01-20 02:41:19 +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
tv
e58532a4bf No-op commit to force update to a non-"-kk" revision. 2001-01-18 17:47:58 +00:00
jdolecek
c1fc5392f5 adjust ddb variable access functions to have first arch 'const', make db_[e]regs[] const 2001-01-18 10:55:29 +00:00
jdolecek
65e6340df5 adapt to recent changes of signal structures changes 2001-01-18 10:18:24 +00:00
fvdl
c7f1462f3e Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.
2001-01-17 00:07:18 +00:00
augustss
46130fb7e5 Add uyap. 2001-01-16 03:38:22 +00:00
thorpej
d74e432ed3 Make softclock a generic soft interrupt of the API is available,
adding the requisite void * argument to softclock().
2001-01-15 20:19:50 +00:00
martin
a261276f16 The i4b raw b-channel devices actually do have an ioctl routine,
so better add this to the cdevsw entry.
Noted by Bruno Achauer.
2001-01-14 11:17:28 +00:00
thorpej
a3ec356d52 splimp() -> splvm() 2001-01-14 03:22:04 +00:00
thorpej
d85a75f583 Make sure everybody has an splvm() and equate it with splimp() (splimp()
is the historical name for this interrupt level, and the historical name
is going to go away in the near future).
2001-01-14 02:00:37 +00:00
bjh21
8df387473f Move <machine/signal.h> into shared directory. 2001-01-13 17:02:36 +00:00
bjh21
78c0ba909e Separate out sigcode into its own file, since it's shared by arm26 and arm32. 2001-01-13 00:06:50 +00:00
bjh21
a5ef6e1f81 Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should
generate smaller compiled code.
2001-01-12 21:31:51 +00:00
bjh21
a4047bf10c Move the generic ARM disassembler from arm32/arm32 to arm/arm. 2001-01-12 13:43:11 +00:00
bjh21
6fa98146d5 Start merging actual code in arm32 and arm26:
arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c

Also move specification of other checksum stuff to files.arm, even though we
use the MI code for that.
2001-01-11 23:27:26 +00:00
bjh21
5159a10d97 Share <machine/elf_machdep.h> between arm26 and arm32. 2001-01-11 22:28:06 +00:00
bjh21
a2dacbe06d Switch over to using the generic arm header files for everything that arm26
and arm32 agree on.
2001-01-11 22:07:53 +00:00
bjh21
5a91dd00b9 Add "arm" to the "machine" line, so we get files.arm pulled in, and more
importantly, the arm->arch/arm/include symlink.
2001-01-10 18:38:37 +00:00