Commit Graph

121 Commits

Author SHA1 Message Date
bjh21 6a32761143 Now that cpu_dataabt_fixup() can fail, print slightly more useful information
(address and disassembly of the instruction that aborted) when it does so.
2001-06-02 22:48:40 +00:00
chs 821ec03ed9 replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
toshii 07187f8a43 Nuke FRAMEBUF_HW_BASE. This value is provided by the bootloader. 2001-06-01 14:08:35 +00:00
toshii 6349d0ae81 Nuke FRAMEBUF_{HW_,}BASE. This hack does no good. 2001-06-01 14:06:43 +00:00
toshii ea77ec5725 Move some low-level code (SVC mode switching and PID address translation
disabling) which was written using inlined asm in initarm() to just after
the kernel entry point.
2001-06-01 14:04:29 +00:00
toshii 76b3b49bb8 Add support for jornada720's framebuffer.
The functionality is almost same as bivideo, and hardware rasops and
power saving are not yet supported.
2001-06-01 02:51:03 +00:00
lukem d84d2c6c85 add missing #include "opt_kgdb.h" 2001-05-30 15:24:23 +00:00
toshii e2c5f5866f Use sys/arch/arm/arm/blockio.S.
Actually, these functions aren't used by hpcarm but is necessary to be
able to link sys/arch/arm/mainbus thing.
2001-05-30 14:39:19 +00:00
mrg 67afbd6270 use _KERNEL_OPT 2001-05-30 11:57:16 +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
toshii 34691495bb Add some PCMCIA devices. 2001-05-23 16:52:34 +00:00
toshii 38b2a7b8bf Optimize softintr_dispatch by replacing SetCPSR calls by inlined asm.
Result is ~1% improvement in ping -f rate.
2001-05-23 02:20:47 +00:00
toshii 822c8273de Instead of scheduling all interrupts at IPL_BIO, use an IPL_SERIAL
handler to clear hardware interrupt bit and schedule actual handlers
using soft interrupts registered with desired IPL.

XXX This slows down interrupt handling a bit (up to a few percent with
XXX ping -f or make-over-NFS benchmarks) in some cases.
2001-05-22 17:54:50 +00:00
toshii 3d513c3e7a Implement generic soft interrupt for hpcarm. 2001-05-22 17:25:15 +00:00
toshii 7073a10bbd Nuke current_mask. 2001-05-22 17:01:16 +00:00
toshii 128d6fc64b Check RBB and REB bits in the console getc function and go to DDB
when a break signal is detected.
2001-05-21 16:50:35 +00:00
toshii 6e435a5783 Use platid_search to get the GPIO pin number. 2001-05-19 05:07:02 +00:00
toshii a90c8b6620 ANSIify and minor KNF. 2001-05-18 14:51:40 +00:00
toshii fd61423f9b Change _ARM32_*_H_ to _HPCARM_*_H_. 2001-05-15 16:15:22 +00:00
toshii c939f00e98 Abandon disabled_mask and spl_mask, and use only current_spl_level to
manage interrupt masking.

This change is necessary for straightforward implementation of coming IPL
support for cascaded intrs, and it should not impair performance.
2001-05-14 16:19:30 +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
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
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
toshii c7df9e68f9 Fix device matching in saip.
ca_match functions should return positive value when matched.
2001-05-01 12:36:54 +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
toshii fbdeb188a5 setsoftast is a macro now. 2001-04-30 15:54:28 +00:00
toshii 87593b8b06 Pull in <machine/psl.h> for spl* definitions.
(same as arm32/include/intr.h rev 1.5)
2001-04-30 15:20:07 +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
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
toshii 58165a53a2 Make masked interrupts don't bring CPU out of idle mode. 2001-04-17 17:12:40 +00:00
toshii cfa894dce0 Use idle mode in process waiting idle loop. 2001-04-17 16:14:57 +00:00
toshii de8e20334a Map a page needed for entering idle mode.
Also, use zero memory at physaddr 0xe0000000 to clean D cache.
2001-04-17 16:10:47 +00:00
toshii ffe7f4da8a Fix a bug crept in the previous revision. Call dosoftints() after
reenabling interrupts.
2001-04-17 16:07:13 +00:00
toshii a78b59337f Overhaul interrupt handlers.
- Set the match register before calling hardclock() to prevent
 clockintr lossage.
- Better handling of match register overrun case.
2001-04-17 15:58:51 +00:00
toshii 0c1210c6b3 Make the debugging hack needed for DEBUG_BEFOREMMU functional again. 2001-04-17 15:53:04 +00:00
toshii 5373b5ab86 Special care must be taken in order to run statclock at 128Hz.
For now, change statclock rate to 64Hz for simplicity.

Thanks to Ross Harvey for pointing out this issue.
2001-04-17 15:49:02 +00:00
toshii af9740eeee Initialize platid in hpc_machdep(). 2001-04-17 15:33:39 +00:00
toshii 9e3772786d Add header files for PPC and SSP register definitions. 2001-04-15 17:27:26 +00:00
toshii 1875326646 Use the second channel to generate 128Hz statclock interrupts.
top(1) reports more accurate CPU times (user/sys/intr/idle) now.
2001-04-15 17:19:32 +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
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
toshii ff71a021ca There is no /usr/include/hpcarm/disklabel_acorn.h. 2001-04-06 11:10:57 +00:00
toshii 3180bc6ac6 Fix a couple of bugs including kernel_pt_table[] range overflow.
I thought some incompatiblity with gcc-2.95.3 prevented booting,
but the actual reason was this silly overflow.
2001-04-06 05:38:01 +00:00
toshii fe9328ad71 Reorder so that basic devices attach first. 2001-03-31 13:49:44 +00:00
toshii 2303009aeb Add SA11[01]0 DMA controller register definitions.
(I forgot to commit this a week ago.)
2001-03-31 13:13:22 +00:00