Commit Graph

233 Commits

Author SHA1 Message Date
bjh21
668b6cbaba We now have a rasops4 attribute to play with. It doesn't work, but then
neither do rasops1 and rasops2...
2001-01-23 00:27:44 +00:00
bjh21
55648b014b Use our own evcnt structure to count VSYNC interrupts.
Also disable interrupts while we're not using them.
2001-01-22 23:29:34 +00:00
bjh21
d0b6f0f1cd Changes to interrupt accounting:
NULL "name" argument to irq_establish indicates that the device will maintain
an evcnt structure for this interrupt.  In this case, irq_establish will still
maintain its own count (for DDB machine irqstat), but won't attach it to the
global list.

Change use of ev_group and ev_name to follow guidelines in evcnt(9).

Switch arckbd(4) over to the new arrangements.
2001-01-22 23:08:26 +00:00
bjh21
fe3273fbb4 Patch from PR kern/8001, submitted by Rafal Boni.
This adds support for EtherExpress/16 cards with 16k of RAM, and in the
process adds general support for PIO mode on these cards.  This entails
changing the way the i82586 driver handles bus barriers, since it doesn't
allow for strange cases like this.

This has been tested on the i386 port with the 'ix' driver in both
16KB (which was the source of the problem) and 32KB modes, as well
as with the 'ef' driver.  I've tested it (briefly) with 'ei' on arm26
as well.  In theory, drivers other than 'ix' should follow precisely the
same code paths as before.
2001-01-22 22:28:43 +00:00
bjh21
1178bf4219 Initial potentially sharable <arm/armreg.h>. Used by all arm26 code. 2001-01-22 22:10:39 +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
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
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
bjh21
46b21bb8a8 Fix a couple of brackets in a comment. 2001-01-18 17:05:06 +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
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
bjh21
f575270d81 Switch over to using the arm32 sigcontext structure.
Yes, this causes binary incompatibility.  Yes, it's Evil, Bad and Wrong.
Nonetheless, I think it's probably the least unpleasant way to get close to
binary compatibility with NetBSD/arm32, and a very much doubt there are any
arm26 binaries out there that depend on the old shape of struct sigcontext.
2001-01-16 00:29:45 +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
thorpej
45de366b2e Rename __GENERIC_SOFT_INTERRUPTS to __HAVE_GENERIC_SOFT_INTERRUPTS,
and place the definition in <machine/types.h>.  This can now be used
as a flag to indicate whether or not <machine/intr.h> can be included
to get the generic soft interrupt API.
2001-01-14 23:50:28 +00:00
thorpej
6f0dfa5049 splimp() -> splvm() 2001-01-14 03:32:20 +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
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
6189064e69 More FPU-state-saving infrastructure. Not useful yet. 2001-01-12 13:23:49 +00:00
bjh21
d74ad44e33 Document format of various chunk types. 2001-01-12 00:13:26 +00:00
bjh21
0bb3b087a6 Document the VIDC audio format. 2001-01-12 00:12:38 +00:00
bjh21
531e3e2075 Fix up irq_string for a world without intrnames. 2001-01-12 00:11:42 +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
68ac1c6fc3 Add some infrstructure to support saving FPU state. 2001-01-11 22:03:52 +00:00
bjh21
7424b1f3c1 Grotty hack to attach names to interrupts.
Should be fixed when I next overhaul this code.
2001-01-11 14:56:07 +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
bjh21
84a9223126 Add APCS-32 return instructions, though not used yet. 2001-01-09 12:11:57 +00:00
bjh21
2aa1fb4020 Remove old-style interrupt-counting infrastructure (intrnames/intrcnt). 2001-01-07 19:39:08 +00:00
bjh21
d6bd1012e3 Add facilities for counting interrupts, and a "machine irqstat" command to
DDB to tell us what's going on.
2001-01-07 17:01:53 +00:00
bjh21
2b076072d3 Add a "name" argument to irq_establish and friends, in imitation of arm32. 2001-01-07 15:56:01 +00:00
bjh21
6b513dfe29 Remove ioc_irq_establish -- It wasn't serving any useful purpose. 2001-01-07 15:36:34 +00:00
bjh21
fb3dd6b589 ANSIfy. 2001-01-07 15:27:37 +00:00
bjh21
32ad12527c ANSIfy. 2001-01-07 15:00:02 +00:00
bjh21
32ff4eef91 ANSIfy. 2001-01-07 14:28:02 +00:00
bjh21
c730bd06be Un-__P, remove arg names. 2001-01-07 13:48:24 +00:00
bjh21
5c09bd5fc5 Un-__P and remove function arg names. 2001-01-07 13:38:42 +00:00
bjh21
610a127a3d Fix a stupid = vs == bug that prevented the code working usefully at all.
While I'm here, fix all the other GCC warnings too.
2001-01-07 00:30:29 +00:00
bjh21
fa64805abd Specify (void) arguments, hence avoiding GCC warning. 2001-01-07 00:07:58 +00:00
bjh21
32c62f1fdb ANSIfy 2001-01-06 13:09:05 +00:00
takemura
c5fd828440 replace 'long long' with int64_t to compile stand alone program with
compiler other than GCC.
2001-01-03 10:08:55 +00:00
bjh21
7866e2f2c9 Arrange that the return value of copyin() and friends be provided by
do_fault(), in preparation for do_fault() being able to get it from
uvm_fault().
2001-01-01 16:00:42 +00:00
bjh21
bc86e85531 Correct various initial comments, and provide a useful overview of how the
MEMC works, at the suggestion of chs.
2000-12-31 16:09:34 +00:00
bjh21
c1ad66d687 Whitespace cleanup. 2000-12-30 13:53:26 +00:00
bjh21
66c70101f3 Add a cache flush to pmap_fault() when it adds a r/w mapping, since there's
probably an old mapping around that we don't want to get stale.
2000-12-30 13:42:12 +00:00
bjh21
e9d5e8f1e5 Overhaul v(un)mapbuf: Don't worry about unmapping things (the pmap can handle
multiple wired mappings now).  Do worry about seeding referenced/modified
information correctly.
2000-12-30 13:33:15 +00:00
bjh21
e4c6b6f4e5 pmap_kenter_pa(): Seed referenced/modified information correctly. 2000-12-30 13:31:50 +00:00