Commit Graph

49 Commits

Author SHA1 Message Date
mycroft 47c99ba59e Fix off-by-one error in delay(). 2002-05-02 22:01:46 +00:00
wiz d79f4782b6 Complete renaming of opms to opms (was partly named pms, externally and
internally).  Move arm/iomd/pms* to arm/iomd/opms*. Mechanical change,
tested by cross-compiling a kernel from i386.

Approved by christos.

XXX: What are arm/arm32/conf.c and arm/include/conf.h good for?
2002-04-19 01:04:38 +00:00
thorpej 59c9e94b72 vm_offset_t -> vaddr_t,paddr_t 2002-04-10 19:35:22 +00:00
thorpej 991426d348 * Rewrite the 32-bit ARM pte.h based on the ARM architecture manual.
Significant cleanup, here, including better PTE bit names.
* Add XScale PTE extensions (ECC enable, write-allocate cache mode).
* Mechanical changes everywhere else to update for new pte.h.  While
  doing this, two bugs (as a result of typos) were fixed in

	arm/arm32/bus_dma.c
	evbarm/integrator/int_bus_dma.c
2002-04-05 16:58:01 +00:00
thorpej 22e72c8da2 Don't need to mask w/ PG_FRAME. 2002-04-04 16:56:36 +00:00
reinoud c85015ee71 Also provide differential coordinate updates... pitty it can't be choosen
or specified in wscons itself. The absolute coordinates are broadcasted
_after_ the relative so a program that takes both won't get confused.
2002-04-04 01:03:23 +00:00
thorpej d8ab0d1e84 Remove unused extern decls. 2002-04-03 21:06:21 +00:00
reinoud 9fc5cf5824 Fix the mmap'ing of the screen memory. The way it was implemented
completely sucked... I wonder how it was even working (....)

Thanks to Jason for pointing out the problem.
2002-04-03 16:03:50 +00:00
reinoud d1f811363a Only include the vidc_machdep.h file when we're compiling the kernel 2002-03-30 17:10:31 +00:00
thorpej aa1563948c * arm_byte_to_page() -> arm_btop()
* arm_page_to_byte() -> arm_ptob()
2002-03-24 03:37:18 +00:00
reinoud 2b488a7d9f Big rototil of the vidcvideo code to cleanup illogical structures and to
incorporate write back support for processors not having a write through
cache.

The current fb_devconfig structure now really holds the device's
configuration and the softc really only holds the attachment information.
This used to be mixed giving rise to weird stuctures and cross references.

The number of vertical syncs before the video memory writeback is triggered
is configurable ... default is to wait for 5 Vsync .. aprox minumum 10
times a second, but more likely in the order of 12,5 times a second. When
printing is in progress no write back is performed... only after the
waiting time. The reasoning behind this is that as long as the screen is
printed too the cache will be purged of dirty data anyway due to the
processing and new screen memory useage.
2002-03-23 21:27:41 +00:00
reinoud 2d2df858f7 Fix up typos. 2002-03-23 18:10:24 +00:00
reinoud fe2473fafd Fix typo. 2002-03-23 17:10:13 +00:00
reinoud 89400b4aab Allthough this patch doesn't look that much it adds a few things that were
on the port-acorn32's TODO list for quite some time :

- when the serial console is selected, don't exclude the screen
alltogether; currently the keyboard is still not attached but that might be
a configuration problem in the GENERIC console or a failure to explicitly
connect to a wsmux. This needs further investigation.

- create a framework for the display memory writeback on vsync for
StrongARM processors since they don't have a write-trough cache. This is to
solve the lazy screen update that is very evident in single user mode on
these processors; the cache isn't flushed/written back that often and parts
of the screen can thus be resident in the cache but not written out to
memory yet.

- clean up some loose ends in the code.
2002-03-23 02:00:26 +00:00
reinoud 12d0f60218 If the serial console is asked for then dont forget to define the function
prototype for connecting the serial console....
2002-03-22 13:32:51 +00:00
atatat 31144d9976 Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command".  ERESTART is -1, which can lead to
confusion.  ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4.  No ioctl code should now return -1 anywhere.  The
ioctl() system call is now properly restartable.
2002-03-17 19:40:26 +00:00
reinoud 1a19ddabcd Some cosmetic changes.... 2002-03-15 13:33:19 +00:00
ad b89e39b91a Reorganise the wsfont stuff slightly so that multiple display adapters
with different bit/byte order requirements can co-exist happily.
2002-03-13 15:05:13 +00:00
bjh21 a42e17ae9a __RCSID -> __KERNEL_RCSID 2002-03-10 15:47:43 +00:00
bjh21 ff94cc2ad5 Add prototype for getkey_polled(). 2002-02-18 19:05:35 +00:00
bjh21 d4d3aa6468 Add internal prototype for cmd_mouse().
Also __RCSID() while I'm here.
2002-02-18 18:58:47 +00:00
bjh21 eb821c3860 Add a prototype for qms_console_freeze(). 2002-02-18 18:43:55 +00:00
bjh21 1e6835687e Rename prototype from sysbeep_vidc() to sysbeep() to match definition.
Pull in beepvar.h and vidcaudiovar.h for beep_generate() and
vidcaudio_beep_generate() prototypes.
__RCSID().
2002-02-18 16:23:54 +00:00
bjh21 2712a10c7c Add a prototype for vidcvideo_config_wscons(). 2002-02-18 14:30:20 +00:00
bjh21 761157905a Add prototypes to all declarations of function pointers.
Include <arch/arm/iomd/vidcaudiovar.h> for vidcaudio_beep_generate() prototype.
Add in-core RCSID.
2002-02-18 12:55:47 +00:00
bjh21 a06b71e864 Add a vidcaudiovar.h to contain a prototype for vidcaudio_beep_generate(). 2002-02-18 12:52:09 +00:00
bjh21 2aa99b4f12 Include <arch/arm/iomd/beepvar.h> for beep_generate() prototype.
Include <machine/conf.h> for cdevsw function prototypes.
Correct argument types of beepioctl().
Add in-core RCSID.
2002-02-18 12:36:27 +00:00
bjh21 668fc0d2b7 Add beepvar.h, to hold a prototype for beep_generate(). 2002-02-18 12:34:11 +00:00
bjh21 c1f8e3aa21 Comment out vidcvideo_setbase() (it's unused).
Remove vidcvideo_mmap() (it's redundant).
Add in-core RCSID.
2002-02-18 12:23:24 +00:00
bjh21 1a140d2090 Add prototypes for clockhandler() and statclockhandler(), and adjust their
argument types to match other interrupt handlers.
Also minor KNF (add in-core RCSID).
2002-02-18 12:18:26 +00:00
bjh21 40933bf05e Add prototype for yeartoday(). 2002-02-18 12:03:38 +00:00
bjh21 57a6aecd77 Include <machine/conf.h> for cdevsw function prototypes.
Add internal prototypes for hexdectodec(), dectohexdec() and twodigits().
Correct signature of rtcioctl().
2002-02-18 11:59:16 +00:00
bjh21 b5c13de9bf Pull in <machine/conf.h> to get prototypes for cdevsw functions, and correct
the signature of iicioctl() appropriately.
2002-02-18 11:51:57 +00:00
bjh21 216b4f1c81 Add prototypes for dma_reset(), dma_setup(), dma_isactive(), dma_isintr() and
dma_intr().
2002-02-18 11:41:18 +00:00
bjh21 dbc5effbc8 Change signature of dma_intr() to match other interrupt handlers. 2002-02-18 11:40:42 +00:00
reinoud 8843d04234 Please only return errno values !!! ... also doing a bit of KNF'ing 2002-02-10 00:53:28 +00:00
reinoud fe0ecbaede At last enable the real time clock again on acorn32 !! thanks a lot to Mike
Pumford for the patches.
2002-02-05 14:36:35 +00:00
thorpej 4e990d9ccb Overhaul of the ARM cache code. This is mostly a simplification
pass.  Rather than providing a whole slew of cache operations that
aren't ever used, distill them down to some useful primitives:

	icache_sync_all         Synchronize I-cache
	icache_sync_range       Synchronize I-cache range

	dcache_wbinv_all        Write-back and Invalidate D-cache
	dcache_wbinv_range      Write-back and Invalidate D-cache range
	dcache_inv_range        Invalidate D-cache range
	dcache_wb_range         Write-back D-cache range

	idcache_wbinv_all       Write-back and Invalidate D-cache,
				Invalidate I-cache
	idcache_wbinv_range     Write-back and Invalidate D-cache,
				Invalidate I-cache range

Note: This does not yet include an overhaul of the actual asm files
that implement the primitives.  Instead, we've provided a safe default
for each CPU type, and the individual CPU types can now be optimized
one at a time.
2002-01-25 19:19:22 +00:00
bjh21 33096a0e18 Add a couple of ARM7500 registers I missed last time, and correct a couple
of others to match the names in the data sheet.
2002-01-08 21:00:12 +00:00
thorpej 014157862c * Share a common vector page between arm26 and arm32.
* Use a common set of exception handlers for all arm32 platforms.
* New FIQ framework based on discussions with Ben Harris, shared
  between arm26 and arm32.
2001-12-20 01:20:21 +00:00
bjh21 f2ebadcc6f Ensure that vidc.h gets installed somewhere -- Xarm32vidc needs it to compile. 2001-12-17 15:07:37 +00:00
bjh21 7bc474a92b mod() was unused. g/c it. New code should use abs() anyway. 2001-12-15 22:41:44 +00:00
bjh21 eefdf030c9 Simplify the pixel-clock-rate-setting code, so it always works out the
parameters from first principles rather than using a static table for some
rates.  This makes it work correctly on ARM7500, for which the table was
bogus (ARM7500 has a different refclk from VIDC20).
2001-12-15 22:21:46 +00:00
thorpej 28466919a2 Use <machine/intr.h> rather than <machine/irqhandler.h> 2001-11-27 01:03:52 +00:00
thorpej 0c57d87232 Use <arm/cpufunc.h>, not <machine/cpufunc.h>. 2001-11-23 19:21:47 +00:00
thorpej 299362f0ff Pull in assym.h for __PROG32 (needed for IRQenable/IRQdisable macros,
which should probably be pulled out of cpu.h anyway...)
2001-11-23 16:53:07 +00:00
thorpej b393d0d3f7 Kill <machine/katelib.h>. Any place that still uses it should just
reference <arm/arm32/katelib.h> until such time as all use of this
file has been purged from the face of the earth.
2001-11-22 18:34:30 +00:00
reinoud be3168ab71 Sad point .... remove RC7500 support from the iomd directory in the
arch/arm/iomd/* .... the RC7500 isnt really an iomd/vidc machine but has
different video/audio chip and was kind of hardwired/hacked into the other
chip drivers.
2001-10-17 23:28:19 +00:00
reinoud 7d4a1addde Initial commit of the splitting off of arch/acorn32 from arch/arm32.
The IOMD/VIDC combination is now moved to arch/arm/iomd together. These
files still need a lot of cleaning up :( .... esp. the RC7500 support that
is still dormant in it; this needs either to be removed or split out for
RC7500's ``VIDC'' video/audio variant.

Apart from the RC7500 support wich is still in arch/arm32 the
iomd,vidc,riscpc and podulebus subdirectories of arch/arm32 can be removed.

This split still uses some small parts of arch/arm32 .... those are the MI
parts that haven't been moved yet.

RiscPC/A7000 have been tested and confirmed to build as should NC.
2001-10-05 22:27:40 +00:00