Commit Graph

2202 Commits

Author SHA1 Message Date
reinoud 7bace466ad Initial commitment of the bus_space_mmap() functions as proposed by Jason R
Thorpe as an extension to the bus_space(9) API.

Only the mainbus has a working mmap... iomd, podulebus and isa dont have
one yet. Its trivial to add the iomd and isa's memory part but am a bit
hessistant to add it without knowing its implications by heart.

Podulebus might be implemented in 32 bits EASI but otherwise its not really
transparent since there is AFAIK no function to explicitly read one byte or
so .. or is this implemented in a higher level ?

ARM26 and arch/arm32/dnard (Shark) kernels compile and RiscPC and Shark
kernels are tested and function OK.

Implications of other ARM systems like hpcarm and ebarm are propably
minimal or solved trivially.
2001-09-10 02:20:19 +00:00
reinoud 180a40eb5b A long int for kernel sizes is a bit overdone for an arm32 ... make it
compile again by changing the format string to use ints.
2001-09-09 15:15:14 +00:00
matt 7ce6450eac Add a merged <pcb.h> for arm26/arm32. 2001-09-03 19:20:27 +00:00
matt cc353c4912 Sync hpcarm & arm32 conf.c (this entails shifting the i4b major numbers
up by one on arm32 and and adding notdef entries on hpcarm).
2001-09-03 01:33:38 +00:00
atatat 5f25c01eff Comment out bridge pseudo devices from ports that don't
__HAVE_GENERIC_SOFT_INTERRUPTS.  bridge(4) doesn't compile there.
2001-09-01 23:08:40 +00:00
atatat 97c67a9bae Add bridge pseudo devices to GENERIC configs 2001-09-01 21:52:23 +00:00
rearnsha 46f383bde2 Adjust printf format string for size_t change. 2001-08-30 17:16:02 +00:00
reinoud d7964c6e78 Initial commit for Xserver support for the wscons interface; it isn't fully
functional yet since the keyboard changes are not committed yet but it
should compile and work independently.

Initial support for mouse and screen takeovers / screen hardware scroll
reset is done.
2001-08-21 14:48:54 +00:00
wiz c52d355d71 "wierd" is weird. 2001-08-20 12:20:01 +00:00
matt 7cab3778d5 Make EXEC_ELF32 support std now, 2001-08-19 05:51:09 +00:00
rearnsha d47e5736c8 ANSIfy function declarations and prototypes. Tidy up include files.
Minor reformatting.
2001-08-15 22:28:15 +00:00
rearnsha 0d9806035b Include sys/types.h, sys/callout.h and machine/intr.h. Don't include
sys/disklabel.h or sys/dkstat.h.
2001-08-15 20:27:46 +00:00
rearnsha 5bc2f13417 Don't need machine/io.h or machine/irqhandler.h either. 2001-08-15 20:08:46 +00:00
rearnsha 34ab61ef21 Don't include podulebus.h. Do include machine/bus.h. 2001-08-15 20:05:08 +00:00
rearnsha ff2b83c782 New bus-independent DMA framework. Adjust asc.c for new interface
but not (yet) make use of new framework.
2001-08-14 22:58:17 +00:00
chris 191de4d242 Checking a whole host of pmap changes:
Improved locking (not that we actually use it on a uniprocessor, but one day :)
Removed unneeded splvm's
tweaked pmap_clean_page code to only flush the cache if the page is mapped in the current pmap  (based on diff from richard E)
Adopted pv entry allocation mechanism from i386.
Laid framework for returning ptp's when we've finished with them rather than holding onto them till the process exits.
ptp's are now allocated with a uvm object for the pmap, means that we can walk a list to free them off in pmap_release, until they get freed off by pmap_remove.

Also implemented a page zeroing function when the processor is idling.  Note that hpcarm may wish to disable this.

I believe this code to be stable, if anyone has any problems please shout up.
2001-08-11 13:20:19 +00:00
jdolecek 74954dadf9 use unsigned variable types as appropriate 2001-08-05 18:07:51 +00:00
matt ced3859405 print time_t as signed long. 2001-08-05 05:22:10 +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
chris 17ecd4e41a Update Makefile.arm32 for the newly moved locore.S and genassym.cf 2001-07-28 15:50:40 +00:00
chris 4a126d9937 finish moving common arm32 bits out into arm/arm32. 2001-07-28 15:08:10 +00:00
chris 27f96e8440 Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc. 2001-07-28 13:28:03 +00:00
chris 338f184d45 Fixup stray interrupt handler's return address. 2001-07-28 12:28:56 +00:00
chris 0481f078a0 bzero -> memset 2001-07-28 11:17:15 +00:00
wiz 035b63a542 auxilliary -> auxiliary 2001-07-26 22:53:13 +00:00
wiz a9356936b4 seperate -> separate 2001-07-22 13:33:58 +00:00
wiz 1bc6d2cee9 Fix typo (`information' has an 'r'). 2001-07-19 16:13:00 +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
reinoud 0d6f7550d9 A new setup for the fastboot file... a lot more clear. 2001-07-12 15:55:42 +00:00
chris 242cb56ca5 Fixup vidc files, VIDC_FREF is now vidc_fref. 2001-07-10 22:09:04 +00:00
bjh21 3eec98b7e8 Gratuitously print out the IOMD version at boot, since there's a register
for it.
2001-07-10 21:31:59 +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
bjh21 9c93fee83f Remove spurious inclusions of opt_cputypes.h. 2001-07-10 20:10:48 +00:00
bjh21 d715053902 As far as I can tell "options IOMD" is never referenced, so remove it.
Anything that needs to know if we're building for an IOMD machine can check
NIOMD.
2001-07-10 00:52:29 +00:00
bjh21 55a4aace27 Use NIOMD to determine if we're on an IOMD system, rather than
RISCPC || CPU_ARM7500.  I think this removes that last substantive use
of CPU_ARM7500 in the kernel (hooray!).
2001-07-10 00:41:12 +00:00
bjh21 cf9453aeae iomd is marked "needs-flag", and this file is conditional on iomd, so
NIOMD == 1 whenever this file is included.  Don't bother asserting it.
2001-07-10 00:36:10 +00:00
bjh21 838c7e36a1 Remove a confused (probably outdated) comment. 2001-07-10 00:09:44 +00:00
bjh21 469339d93c Clean up some cruft left behind (but AFAIK never used) from poduleirqhandler(). 2001-07-10 00:04:30 +00:00
bjh21 368f9c15c1 Remove another spurious #ifdef CPU_ARM7500. 2001-07-09 23:35:58 +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
wiz cc0b68092e Correct various misspellings of 'transfer' and inflected forms. 2001-07-08 18:06:42 +00:00
abs 01b024cd5b Standardise TCP_COMPAT_42 as commented out, grouped with other COMPAT options,
and with the comment '4.2BSD TCP/IP bug compat. Not recommended'
Add commented out 'TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG'
(All hail amiga and atari which make some attempt to automate the
multiplicity of config files...)
2001-07-08 16:32:12 +00:00
bjh21 260f6ffe33 Remove the old Ether3 and EtherB drivers, since the new ones seem to work fine. 2001-07-08 15:41:55 +00:00
rearnsha 471acbf74f Fix a couple of minor merge botches from the new scsipi merge.
More minor formatting tidyups.
2001-07-08 14:50:05 +00:00
toshii 4866f1a22b Fix typo. s/extention/extension/ 2001-07-05 08:38:24 +00:00
bjh21 3452c0d0a3 Add PowerROM support to asc(4), csa(4), csc(4) and ptsc(4). Not tested much,
I'm afraid.
2001-07-04 17:54:18 +00:00
bjh21 b8a09ee766 Add dummy "podloader" functions on arm32, and move their declarations to the MI
header file.  This should allow MI drivers to use the podloader functions,
though obviously they'll have to be able to cope if podulebus_initloader()
fails.
2001-07-04 13:58:04 +00:00
bjh21 0be64cc691 Move "podulebus" and "podloader" declarations up into files.podulebus. 2001-07-04 13:49:24 +00:00
bjh21 67ace1b581 Gratuitously make podulebusprint() more standard. It now says:
ea0 at podulebus0 slot 2: address 00:02:07:dd:ee:16, 16-bit, SEEQ 8005
eb0 at podulebus0 [ netslot 0 ]: address 00:00:a4:54:42:cb, 16-bit, SEEQ 80C04

Netslots will be dealt with later (I didn't like the idea of just printing
"slot 8").
2001-07-04 13:38:36 +00:00
bjh21 204fa6d2ef The only use of poduleirqhandler() was commented out, so remove it to
avoid confusion.
2001-07-03 20:47:23 +00:00