Commit Graph

2124 Commits

Author SHA1 Message Date
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
bjh21 b369fdfd44 Use podulebus_irq_establish().
To avoid complexity, don't bother with ea_irq_claim() and ea_irq_release() any
more.  This driver will be replaced with an MI one soon eough -- it just
happened to be convenient for me to test.
2001-03-18 00:00:43 +00:00
bjh21 f98a674d6d Add podulebus_irq_establish(), with the same spec as the arm26 one. 2001-03-17 23:58:43 +00:00
bjh21 697e84ed46 Update for new location of podules.h and podule_data.h 2001-03-17 20:34:43 +00:00
bjh21 e6a3d0d5c9 Move generated files from sys/arch/arm32/podulebus to sys/dev/podulebus. 2001-03-17 20:32:00 +00:00
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