matthias
af667cdd42
The io offsets in arm32/isa/timerreg.h included the IO_TIMER1 offset.
...
With dev/ic/i8253reg.h this is not the case.
Add IO_TIMER1 to all offsets used in inb and outb. This fixes port-arm32/13009.
2001-06-02 12:51:28 +00:00
bjh21
447793851c
Add hcsc to every configuration that has SCSI podules.
2001-06-02 10:48:54 +00:00
mrg
67afbd6270
use _KERNEL_OPT
2001-05-30 11:57:16 +00:00
bjh21
7d9a4dbad7
Move blockio.S from sys/arch/arm32/arm32 to sys/arch/arm/arm, since I want to
...
start using it on arm26.
hpcarm gets to keep its own version, since it's not identical and I haven't
got an hpcarm box to test.
2001-05-29 23:03:20 +00:00
mrg
3783ca5d30
define _KERNEL_OPT as well as _KERNEL. we will use this in the future to
...
get kernel "opt_foo.h" headers, rather than _KERNEL && !_LKM.
2001-05-29 02:20:20 +00:00
chs
e44e9dec8a
replace vm_page_t with struct vm_page *.
2001-05-26 21:27:02 +00:00
bjh21
c7a388d937
Turn "oak" into an MI podulebus driver. Tested on my new A310.
2001-05-26 17:49:46 +00:00
chris
7dd0515e15
Use ffs asm routine in arm32 context switch code.
2001-05-23 21:49:57 +00:00
chris
f220cad8dd
Use ffs like routine in the footbridge irq handling. It is now very similair to the iomd irq handler.
...
Note that I've kept the existing quirk of still passing the irq to the next handler even if the irq handler returned 1. I need to investigate why we do this.
2001-05-23 21:23:54 +00:00
bjh21
ba2ed3776e
Refer to the Risc PC IOMD by its real name (which appears to be IOMD20).
2001-05-13 14:30:00 +00:00
bjh21
e2b24925d1
Use get_bootconf_option() to find boot options, rather than home-grown
...
strstr()-based hacks.
2001-05-13 13:53:08 +00:00
bjh21
61044be691
Move get_bootconf_option() into a new file, sys/arch/arm/arm/bootconfig.c,
...
since it's in no way machine-dependent. It's not really ARM-specific either,
but I don't think it's useful enough to be made part of the MI kernel.
2001-05-13 13:44:33 +00:00
matt
9c197c4609
Change references to <arm32/isa/timerreg.h> to <dev/ic/i8253reg.h>
...
Remove timerreg.h
2001-05-09 17:34:40 +00:00
matthias
0edc338e99
third argument of pcpoll is a struct proc now.
2001-05-08 11:29:39 +00:00
bjh21
0336117218
The arch/arm32/kshell code was removed three years ago. Kill references to it.
2001-05-06 18:38:58 +00:00
bjh21
6d4648fa03
Move "defopt PMAP_DEBUG" into files.arm, since it's used by code in arch/arm.
2001-05-06 18:31:14 +00:00
bjh21
f9087c439b
Move cpufunc stuff from arm32/arm32 to arm/arm. The only change involved is
...
to add recognition of the SA-1100 and SA-1110 for compatibility with hpcarm
(which is now using this code as well).
2001-05-06 18:01:42 +00:00
reinoud
b3798660cd
Small typo...
2001-05-03 23:07:08 +00:00
reinoud
da9012cd1d
Some small improvements on the setting of keyboard LEDS's and a small
...
cleanup
2001-05-03 23:05:48 +00:00
scw
2963ff5c58
Add `l_poll' to `struct linesw' and provide an xxxpoll() entry point
...
in each tty driver to indirect through it.
This allows tty line-disciplines to handle poll(2) system calls.
2001-05-02 10:32:08 +00:00
thorpej
cf67ac7122
Per discussion w/ chuck and chuck, restructure the md page stuff
...
to use a structure called "vm_page_md", and use __HAVE_VM_PAGE_MD
and __HAVE_PMAP_PHYSSEG.
2001-05-01 02:19:13 +00:00
thorpej
2b27ac7a99
Add a VM_MDPAGE_MEMBERS macro that defines pmap-specific data for
...
each vm_page structure. Add a VM_MDPAGE_INIT() macro to init this
data when pages are initialized by UVM. These macros are mandatory,
but ports may #define them to nothing if they are not needed/used.
This deprecates struct pmap_physseg. As a transitional measure,
allow a port to #define PMAP_PHYSSEG so that it can continue to
use it until its pmap is converted to use VM_MDPAGE_MEMBERS.
Use all this stuff to eliminate a lot of extra work in the Alpha
pmap module (it's smaller and faster now). Changes to other pmap
modules will follow.
2001-04-29 22:44:31 +00:00
bouyer
937a7a3ed9
Pull up the thorpej_scsipi branch to main branch.
...
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
(no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
will be requeued, or a REQUEST SENSE will be sent as appropriate.
Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
2001-04-25 17:53:04 +00:00
bjh21
843c4223f1
setsoftast is a macro now.
2001-04-24 18:21:10 +00:00
bjh21
01adfb1d35
Pull in <arm32/psl.h> for spl* definitions.
2001-04-24 18:16:43 +00:00
thorpej
1c3a62e066
Sprinkle pmap_update() calls after calls to:
...
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).
These calls are relatively conservative. It may be possible to
optimize these a little more.
2001-04-24 04:30:50 +00:00
bjh21
72aab13520
Add the IOLINES register from the ARM7500FE, and delete a few incongruous
...
blank lines.
2001-04-23 22:17:09 +00:00
rearnsha
8a64dad5d2
Eliminate dev->sc_xs. Simplify calls to sbicicmd. Replace
...
dev->sc_kv.dc_{addr,count} with dev->data{,len}.
2001-04-23 20:32:33 +00:00
rearnsha
8faae68155
Use bus_space functions for accessing SBIC registers.
2001-04-21 20:47:26 +00:00
matt
5f6967f571
A small change for NETWINDER support. (netwinder needs its own pci_attach_hook)
2001-04-20 16:52:04 +00:00
reinoud
80b53c5a9b
Euhm... small typo !
2001-04-20 12:47:55 +00:00
chris
485dbd078a
Improved IRQ handling code on IOMD. By using an ffs-like algorithm we don't need to loop quite so much when looking for bits to service (also means we only service irqs that need servicing), also moved code around to avoid stalling where it doesn't loose too much understandabilty.
2001-04-19 20:46:07 +00:00
rearnsha
348133bed4
More formatting cleanups. Disable UNPROTECTED_CSR since the code
...
is unsafe (can clear interrupts that we are waiting on).
2001-04-19 17:30:20 +00:00
matt
446403457a
Don't the RPC stuff on SHARK or FOOTBRIDGE machines.
2001-04-19 07:19:48 +00:00
matt
afc8ecb0ea
A small NETWINDER kludge.
2001-04-19 07:15:24 +00:00
matt
e046a0dbfb
Add a NETWINDER keyword
2001-04-19 07:14:52 +00:00
chris
7b97ef04ca
Enable clockswitching on sa110 (with it disabled the core clock runs at the speed of the memory bus)
2001-04-16 18:09:56 +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
reinoud
763e66f5de
Initial commit of wsmouse driver for the IOMD quadratic mouse.
2001-04-14 19:22:43 +00:00
reinoud
4e845e001a
Accidently left COMCONSOLE configured
2001-04-14 14:51:04 +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
reinoud
c025377acc
Cleanup of attachment code of framebuffers
2001-04-14 02:25:43 +00:00
reinoud
fdeb609887
Place a remark ... the old vidcconsole code can't handle the comconsole
...
not yet for it is called early in the init_arm() ... this needs to be
patched one day so it can be called very early; but is this possible ?
2001-04-12 21:54:06 +00:00
reinoud
242cca702b
Part one of the COMCONSOLE repair ... it works now but the video console
...
is effectively dead instead... this needs work. Also the boottime switching
to the vidcconsole would be good.
2001-04-12 20:15:06 +00:00
reinoud
11c012efcc
Just switch the RI_CENTER off for now ... just to avoid troubles with
...
the hardware scrolling code...
2001-04-12 00:42:50 +00:00
bjh21
4c8caed00d
Apply a bandage to delay() so that it takes a more suitable time on
...
StrongARM Risc PCs. It really should be replaced entirely, but I've got more
important bugs to fix.
2001-04-10 19:08:42 +00:00
bjh21
edde8b993b
Add a DIAGNOSTIC check to see if delay() waits long enough (it doesn't on
...
my machine).
2001-04-10 18:58:56 +00:00
reinoud
3e6eaba006
The old vidc console code can't handle all display depths
2001-04-09 19:33:22 +00:00
reinoud
ba53dd71d7
Re-enable setmode() in wscons implementation.
2001-04-09 19:23:32 +00:00
reinoud
b592059273
Just some pretty printing for 640 width screens
2001-04-09 19:22:42 +00:00
reinoud
e9d5de6e98
Patch the hardware scrolling to be only used when using VRAM until it is
...
working perfectly with DRAM only.
2001-04-09 13:59:44 +00:00
reinoud
ed0aea79a7
Make the NC start run again ... it didnt detect the start of the DRAM good
...
enough.
2001-04-07 20:57:24 +00:00
reinoud
0eb01da9c9
Two preliminary NC kernel definition files....
2001-04-05 22:34:28 +00:00
reinoud
1b2003f235
Apply patches for the NC ... not really in the line of the merge but at least
...
its in the source tree for now.
2001-04-05 22:33:12 +00:00
bjh21
9411be7c80
Re-enable the old "ea" and "eb" drivers under the names "oea" and "oeb".
...
These shouldn't last long, but they may be useful until I hammer all the bugs
out of the new version.
2001-04-05 20:31:50 +00:00
reinoud
b44dca831b
Since the NC's seem to have trouble with the OS_HeapSort, i've implemented
...
my own sorting routine (bubblesort). Also replaced a declaration for BASIC
seemed to mess things up.
2001-04-05 19:17:17 +00:00
rearnsha
d9de58f3e1
Ansify. Replace bcopy/bzero with memcpy/memset. Clean up formatting.
...
Clean up debug messages. No significant functional changes.
2001-04-05 18:06:45 +00:00
reinoud
8008708109
Hmm... these were just plain wrong ... it should be more sane now
2001-04-04 21:11:07 +00:00
reinoud
9d0e339af2
Fix a big memory allocation bug in the bootloader; i underdementioned
...
a piece
2001-04-04 17:13:28 +00:00
reinoud
4b9911dfd2
Finally implement the BREAK key in the wskbd ! :)
...
The BREAK key is a wierd one that gives an extra prelude.
2001-04-02 12:34:34 +00:00
reinoud
12f7f9e0de
Make it compile again ... removed an unused variable
2001-04-01 20:16:25 +00:00
reinoud
321ff3e0db
Remove the VIDC start video programming from the Vsync to when its moved; this
...
also solves problems with the interrupts being disabled in ddb resulting in no
scrolling :(
2001-04-01 20:08:18 +00:00
reinoud
4b7f5e2feb
Add hardware scrolling to the RiscPC wscons implementation.
...
There are still some minor oddities esp. at startup but after that it
functions OK.
The scrolling speed is increased *dramatically* and allmost even faster
compared to the old vidcconsole code; *NOT* tested yet on non-VRAM machines.
2001-04-01 16:58:05 +00:00
reinoud
29cf89ce1a
Bump BtNetBSD version number to 0.95 ... forgot that
2001-04-01 16:50:24 +00:00
chris
101035dac6
Add EtherN/EtherI card support + EtherH media auto detection support.
...
Based on updated patch from Mike Pumford, originally submitted in
port-arm32/8765.
2001-03-31 15:32:46 +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
reinoud
7cf783665e
Please preserve copyright notices modified by Ben Harris since the a.out and
...
ELF structure loadings are of his design from BBBB
2001-03-30 23:49:06 +00:00
reinoud
7d798b3ef7
Initial ELF kernel loading for RiscPC/A7000/NC based on Ben Harris's work
...
Since arm32 isnt switched to ELF yet its not completely tested; It loads
a kernel but then hangs on symbol table loading; propably a ELF/a.out
symbol table conflict.
Also cleaned up the code a bit
2001-03-30 23:44:58 +00:00
toddpw
a6a587a71e
Track prototype change to isa_fillw() that avoids passing u_short as an arg.
2001-03-30 11:21:33 +00:00
lukem
20ba07f2fe
- add dev_noimpl(xxx,yyy) macro to replace "(dev_type_xxx((*))) yyy",
...
and use appropriately
- create more helper macros:
. cdev__xyz_init(c,n), such as cdev__ocri_init() for
/* open, close, read, ioctl */, etc.
. cdev__xRy_init(c,n), where nullop is used instead of enodev to dummy out
method `R' and the comments now read /* xxx (read) yyy */ instead
. cdev__xyz_t_init(c,n,t) - as per cdev__xyz_init, but sets d_type = t
as well
- use seltrue instead of dev_noimpl(poll,*), as (IIRC) cdevsw.d_poll should
always DTRT WRT returning a valid result. (a few devices previously
incorrectly returned ENODEV)
- use dev_noimpl(stop,enodev) instead of dev_noimpl(stop,nullop) if tty
== 0, because it doesn't matter if dev_type_stop isn't implemented in that
case, and it allows the use of the cdev__xyz_init macros. certain ports
(sparc,sparc64,x68k) used the nullop method for dev_type_stop in a few
drivers, whereas everything else uses enodev
- ensure that the comments are accurate WRT the behaviour of a given entry
2001-03-26 12:33:22 +00:00
reinoud
903b8688da
The interface to `setdisplay' was implemented wrong. The utility stated the number
...
of bits per pixel instead of the log2_bpp as assumed (since the rest uses this).
2001-03-25 21:25:35 +00:00
bjh21
8edd158910
MI(ish) EtherB driver using the MI SEEQ 8005 driver. Very lightly tested.
2001-03-25 01:09:36 +00:00
bjh21
cbe4d910da
It might be useful if I actually filled in the interrupt handle for
...
podulebus_irq_establish() to use.
2001-03-25 00:56:58 +00:00
bjh21
8bd452c648
Create an MI Ether3 driver. It's derived from the arm26 driver, which uses
...
my MI SEEQ 8005 driver, which is based on the arm32 ea driver.
2001-03-24 00:14:52 +00:00
bjh21
2714607c72
Add podulebus_shift_tag, which generates a bus_space_tag_t with a specified
...
address shift (stride). This is necessary because many podules have standard
chips with odd address-bus wiring to allow for using LDM for
bus_space_*_multi_*().
2001-03-24 00:10:42 +00:00
lukem
9f60674a47
now that duplicated stuff has been moved to sys/conf.h, remove unnecessary
...
defs for: lpt, joy, pc
2001-03-21 23:42:14 +00:00
lukem
723cd818d8
move duplicate definitions for:
...
pc, lpt, joy, ocis, apm, satlink, i4bctl, i4brbch, i4btel, i4btrc, i4b
from the port-specific arch/*/*/conf.c files into sys/conf.h
2001-03-21 22:25:52 +00:00
soren
912c115675
s/vm_page_alloc_memory/uvm_pglistalloc/ in panic message.
2001-03-21 18:40:28 +00:00
bjh21
998606396f
Move struct podule_list and struct podule_description to podulebus.h.
...
They're MI, even if only arm32 actually uses them at present.
2001-03-20 23:27:04 +00:00
bjh21
86d6442c28
Move machine-dependent podulebus headers to <machine/podulebus_machdep.h>.
...
<dev/podulebus/podulebus.h> is the canonical file to include, and includes
<machine/podulebus_machdep.h>.
<arch/${MACHINE}/poudulebus/podulebus.h> remains for backward compatibility.
2001-03-20 22:59:39 +00:00
reinoud
df2b9ae2bd
Initial commit of wscons for the RiscPC/A7000 arm32 family. There is still lots
...
to do notably the mouse, some issues about 4 bpp modes and most of all Xwscons !
This code will still allow usage of the old vidcconsole complete with X etc.
Note that the wscons code can now only be booted with the new bootloader but
kernels compiled with vidcconsole can still be booted the old way.
2001-03-20 18:20:53 +00:00
reinoud
482f11868a
Added dependency for "VIDCCONSOLE" (old console code) for the physcon char
...
device on console (makedev(4,0)) to aid in wscons transition.
2001-03-20 15:39:16 +00:00
reinoud
adbed15428
Replace `bitsperpixel' by `log2_bpp' for thats the value that is in it
...
and not the number of bits per pixel !
2001-03-20 12:52:03 +00:00
reinoud
e8f67fd5b7
`bitsperpixel' in the bootconfig structure is replaced by `log2_bpp'
...
for thats the value that is in it anyway and not the number of bits per pixel !
This to avoid confusion.
2001-03-20 12:50:08 +00:00
reinoud
2ac5b2f7cf
Replace `bitsperpixel' by `log2_bpp' for thats the value that is in it
...
and not the number of bits per pixel !
2001-03-20 12:48:37 +00:00
bjh21
34cca2e23e
Pull in shared podulebus drivers.
2001-03-20 00:01:37 +00:00
bjh21
2821b16ef4
Quick hack implementation of region ops. Not very pretty, but good enough
...
to get ei(4) working on arm32.
2001-03-19 23:56:45 +00:00
bjh21
4d5762c860
This file depends on <machine/io.h>.
2001-03-19 23:03:59 +00:00
bjh21
e7cc62cc44
A few #defines for the common podulebus API.
2001-03-19 22:59:13 +00:00
rearnsha
51e6b460ab
Slightly smaller code and tune for StrongARM.
2001-03-19 22:51:51 +00:00
rearnsha
77d7115444
Spelling mistake (saftey -> safety). No functional change.
2001-03-18 18:49:37 +00:00
rearnsha
f8ffa07954
Always restore the spl value when returning form physconkbd.
2001-03-18 17:03:26 +00:00
rearnsha
62dd3b3608
Fix a couple of cases where we could return without restoring the
...
SPL value. Fixes a problem with the Xserver on A7000 kernels.
2001-03-18 17:00:56 +00:00
bjh21
614827277d
Switch over to using podulebus_irq_establish().
2001-03-18 16:58:55 +00:00
bjh21
5c98fe3fec
Gratuitous change of signature for podulebus_irq_establish(). It now takes
...
an opaque podulebus_intr_handle_t, which can be found in podulebus_attach_args.
It's actually the slot number, but don't tell anyone.
2001-03-18 15:56:04 +00:00
bjh21
6c42a5d73a
Move over to using podulebus_irq_establish.
2001-03-18 01:31:03 +00:00
bjh21
63059bd6dc
Remove redundant sc_ih from struct ea_softc.
2001-03-18 01:30:30 +00:00