Commit Graph

418 Commits

Author SHA1 Message Date
matt 9b16bbab9f Move constab from conf.c to autoconf.c (since conf.c is going away shortly). 2001-09-03 05:02:18 +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
chris 37fb92dcab Remove unused entries from the pcb. This is with a long term view of merging the arm26 and arm32 pcb's. 2001-08-27 11:39:43 +00:00
jdolecek c495131fe3 Move _insque()/_remque() to libkern. Once remaining uses would
be converted to <sys/queue.h> macros, _insque()/_remque() would be eliminated
altogether.
2001-08-12 08:35:31 +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
ichiro 9ada1599ca implement rx/tx protocol routine of atmel microcontroller. 2001-08-02 18:51:00 +00:00
toshii 5424e08a49 Change the start address to load the kernel. We have 768k more free
memory now.
2001-08-02 14:45:40 +00:00
toshii 7aac1bef3b Don't assume KERNEL_TEXT_BASE >= 0xc0080000. 2001-08-02 14:42:08 +00:00
ichiro d9f2bbf31f add initialization of GPDR pin direction to ipaqpcic_init(sc).
add judgment of complete of the Card (SAPCIC_STATUS_READY)
2001-08-01 13:18:44 +00:00
ichiro 1af1e2f9eb implement a atmelgpio.c
this is initial version, only frame.
2001-08-01 07:59:43 +00:00
ichiro e1eef3118a add entry of Atmel microcontroller and uda1341 codec 2001-08-01 07:03:45 +00:00
ichiro a179a1a6b1 i mistake
reverse a change
2001-08-01 07:02:54 +00:00
ichiro 1b56a92cf9 add entry of Atmel microcontroller and uda1341 codec 2001-08-01 06:59:17 +00:00
ichiro 4c5c9a1509 add register of GPCLK/UART1 (SACOM1_BASE) 2001-08-01 06:43:50 +00:00
ichiro 286cc764db add more register of DUAL PCMCIA SLEEVE for iPAQ 2001-08-01 06:14:31 +00:00
ichiro 1af74c304d iPAQ uses Atmel microcontroller to service a few peripheral devices
(Touch panel, Battery status, button events, and others status)
2001-07-31 21:33:03 +00:00
toshii 9221ef3b13 Make hpcarm kernel build after arm/arm32 file move. 2001-07-29 15:21:33 +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
takemura 64b6b76a21 You must set 'HPCFB_SWAP_*' if bytes are stored in reverse order, i.e.
little endian like order, however, usage of 'HPCFB_SWAP_*' was widely
misunderstood because it reminded you of 'RI_BSWAP' in raster operation.
Please note that 'RI_BSWAP' indicate that frame buffer byte order is different
from natural order of system while 'HPCFB_REVORDER_*' is independent of
system byte order.
2001-07-22 09:56:39 +00:00
hpeyerl 7ef32026cd make slash, backslash, question, and pipe (bar?) keys work on US Jornada
keyboard.

We still don't have {}[]`~ since these require the 'fn' key modifier. Same
with num-lock, caps-lock or funky british currency symbols.
2001-07-20 04:28:50 +00:00
wiz 1bc6d2cee9 Fix typo (`information' has an 'r'). 2001-07-19 16:13:00 +00:00
hpeyerl 949c8eb434 "infomation" -> "information" 2001-07-16 22:01:38 +00:00
ichiro 5cbb157eb8 initial commit UDA1341 CODEC 2001-07-15 20:19:31 +00:00
ichiro e5e13da17f Mapping the SSP registers 2001-07-15 17:18:53 +00:00
ichiro 5bc60be08a add handle of sc_ssph 2001-07-15 17:12:11 +00:00
ichiro fed0a40ba6 add definition I/Opins of UDA1341 2001-07-15 13:29:38 +00:00
ichiro cf1c37c9aa UDA1341TS economy audio CODEC for portable applications.
This is used for iPAQ CODEC.
2001-07-15 08:34:36 +00:00
ichiro 60f2ec7ec1 enable extended gpio operation 2001-07-15 00:30:17 +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
ichiro 2d93d462a3 The definiton which overlapped was erased. 2001-07-13 06:54:35 +00:00
ichiro 073132a7b9 define GPIO alternate functions
They become effective by turning on GAFR.
2001-07-13 03:33:38 +00:00
ichiro 6244e7b3a1 add more MCP status register definition 2001-07-12 03:58:35 +00:00
ichiro 4e28fbd762 add SA-1110 MCP(Multimedia communications Port) register definition 2001-07-11 16:02:25 +00:00
ichiro 88874f0037 add MCP control register1
this resides within the same address space as PPC
2001-07-11 15:56:00 +00:00
ichiro b5bb8c348f add MCP address register 2001-07-11 15:20:23 +00:00
toshii ae6299f9d3 saip_sc (in struct sapcic_socket) is gone. 2001-07-11 03:54:19 +00:00
ichiro 83030a0348 cosmetic change, add more comment,
delete unused include file
2001-07-11 00:10:04 +00:00
ichiro 987e5b28ea I delete unused include file 2001-07-11 00:05:55 +00:00
ichiro 834543dabc ipaqlcd attach to ipaqbus 2001-07-10 18:10:46 +00:00
ichiro 034e3a0d6a moved sa11x0_lcd* to dev/ipaq_lcd* 2001-07-10 18:09:31 +00:00
toshii 124bde736e oops. two cookies are too much. use pcictag_cookie. 2001-07-10 17:35:15 +00:00
ichiro f8f0c9040d I missed to add bus_space_tag_t mapping 2001-07-10 17:24:35 +00:00
ichiro dcd782fb65 use sapcic_cookie 2001-07-10 17:23:18 +00:00
ichiro e205409087 sapcic_socket shouldn't use ipaq_softc. use sapcic_cookie 2001-07-10 17:22:04 +00:00
ichiro 6952d8194a delete Extended-GPIOs mapping 2001-07-10 16:39:33 +00:00
ichiro 0d2e761def sa11x0_pcic* moved to arch/hpcarm/dev and renamed ipaqpcic* 2001-07-10 16:37:29 +00:00
ichiro 75f2a81776 sa11x0_softc -> ipaq_softc
because PCIC of sa11x0 moved to the bottom ipaqbus
2001-07-10 16:35:59 +00:00
ichiro 50ac712dbc add ipaqbus and ipaqpcic 2001-07-10 16:34:08 +00:00
ichiro f408349001 add iPAQ virtual bus and PCIC of iPAQ 2001-07-10 16:31:52 +00:00
ichiro 4a84e3e7bd Separation of SA-11x0 GPIOs and iPAQ specific GPIOs. 2001-07-10 14:58:28 +00:00
toshii c90ac4b756 Sync with rev. 1.5 of sa11xx_pcicvar.h. 2001-07-09 06:20:31 +00:00
toshii 57755d7760 sapcic_socket shouldn't use sacc_softc, use opaque data type instead. 2001-07-09 05:19:05 +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
ichiro 89ebce9618 comment out: bus_space_write_2 2001-07-08 14:45:36 +00:00
ichiro ec7a32a628 cosmetic change 2001-07-08 14:45:03 +00:00
ichiro 320adf2df7 comment out: bus_space_write_2 2001-07-08 14:43:52 +00:00
ichiro 0e7c688b67 add definition of EGPIO_LCD_INIT 2001-07-08 14:41:14 +00:00
ichiro 9e80e9aca3 fix and fill Extended-GPIO 2001-07-08 10:36:31 +00:00
ichiro 9c344c76c8 add LCD register definition 2001-07-08 06:38:59 +00:00
ichiro a8696d3a73 Extended GPIO address is 0x49000000. 2001-07-08 03:33:42 +00:00
ichiro 66a6cc178d pcmcia support of SA1110 2001-07-07 15:53:24 +00:00
ichiro f9d2eac504 Initialization of Extended GPIOs 2001-07-07 15:50:37 +00:00
ichiro 975265e67e add extended GPIOs register 2001-07-07 15:49:41 +00:00
toshii 5455a9ad87 Use platid based mechanism to select PCMCIA socket voltage. 2001-07-07 08:45:43 +00:00
ichiro 2ee26bb302 s/saip_softc/sa11x0_softc 2001-07-07 08:10:15 +00:00
ichiro b1a5e525b8 mapping extended GPIOs
iPAQ: Extended GPIOs appears at address 0x41000000
2001-07-07 07:04:56 +00:00
ichiro cd3fb67f14 bzero->memset, bcopy->memcpy 2001-07-07 06:29:13 +00:00
ichiro 07a7db71f2 using bus_space_tag for salcd 2001-07-02 13:52:29 +00:00
toshii 56b40cd78a Fix autoconf related botch: do printf("\n") in attach funcs rather than
in cfprint.
2001-06-29 17:22:50 +00:00
toshii f1e3122487 Fix 3rd arg of config_search(). 2001-06-29 16:58:55 +00:00
toshii 5df8e31135 Probe SA1111's ID register. Fix 3rd arg of config_search(). 2001-06-29 16:58:17 +00:00
toshii 7b01bb9073 Add ID register location. 2001-06-29 16:54:55 +00:00
toshii ff7d26d2ed KASSERT current_intr_depth == 0 before uvm_fault. 2001-06-29 02:43:56 +00:00
toshii 84408cfa2e Catch up long ago arm32 change: vm_offset_t -> {p,v}addr_t. 2001-06-29 02:40:28 +00:00
toshii 8a0e9b17a0 Use ld -X instead of -x, to keep local symbols for DDB.
XXX does other arm ports need this change?
2001-06-29 02:38:32 +00:00
toshii e5c43d9b98 Fix a nit. 2001-06-23 12:32:20 +00:00
toshii 6adb72bfb8 Speed optimization, inspired by recent sys/arch/arm/arm/blockio.S changes.
Among bus_space_{read,write}_multi, only bus_space_read_multi_2 is
optimized.  bus_space_write_multi_2 didn't gain speed with ldm.
bus_space_*_multi_{1,4} aren't heavily used anyway.
2001-06-23 10:19:04 +00:00
toshii 446833d1b1 Enable a bunch of PCMCIA network cards. They cannot be tested before
enabling.
2001-06-23 10:05:11 +00:00
toshii c9b6aeb4f9 Add jornada720 keyboard device. 2001-06-23 09:28:59 +00:00
toshii 912e831053 Remove obsolete BOOTINFO_FB_* workaround. 2001-06-23 09:25:17 +00:00
toshii b57d496dee Add support for jornada720 keyboard and some LCD parameter controls.
The code is somewhat incomplete, but is quite functional.
2001-06-23 09:20:05 +00:00
toshii e671a13d47 Move sed1356_softc definition to a header file. Setup a backlight
power control hook.
2001-06-23 09:13:06 +00:00
toshii 90b62cfa61 Don't include <machine/autoconf.h>, which should not be necessary.
Moreover, hpcarm doesn't have such a header file.
2001-06-22 14:38:44 +00:00
toshii 8128f45c37 Remove useless DEBUG code. 2001-06-22 01:29:26 +00:00
toshii 8b8a1cfa73 Define __HAVE_GENERIC_SOFT_INTERRUPTS, and nuke traditional softserial and
softclock.
2001-06-20 02:34:26 +00:00
toshii 9663b23e37 Add IPL_SOFT* interrupt levels.
XXX These's no point in having two copies of intr masks (spl_masks and
XXX imask).  This needs to be fixed.
2001-06-20 02:30:47 +00:00
toshii 9159944a03 Add IPL_SOFT* interrupt levels.
Fix type for softintr handlers.
2001-06-20 02:26:30 +00:00
toshii 352aae04a4 Fix type for softintr handlers. 2001-06-20 02:21:58 +00:00
toshii ccc8a74c00 Map PPC (peripheral pin controller) registers also. 2001-06-20 02:19:55 +00:00
toshii b0f168f8ce GC dead codes. 2001-06-20 02:18:06 +00:00
toshii 681b3193ca Make sacom generic soft interrupts ready. 2001-06-20 02:16:49 +00:00
wiz ac951736bc `response', not `responce' 2001-06-19 13:45:52 +00:00
wiz 3f9984fc90 `existent', not `existant' 2001-06-19 13:42:07 +00:00
bjh21 cb36bacea5 Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S
into arm/arm/bus_space_notimpl.S.  They were identical anyway.

This file has no excuse for being in assembler, but I'll leave that for another
day.
2001-06-18 22:26:15 +00:00
bjh21 80c5d7ab99 Move <arm/arm32/bus.h> to <arm/bus.h>, since it looks like it's going to be
necessary on arm26 as well.
2001-06-18 21:37:32 +00:00
toshii bf923a99b8 Don't set HPCFB_SWAP_BYTE (if little endian). 2001-06-16 12:53:05 +00:00
toshii d69d2974a4 Sprinkle some volatile keywords around inline asm so that the optimizer
doesn't reorder critical section codes.
2001-06-07 02:38:59 +00:00
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
toshii 4f12f94c95 Protect spl changing functions from interrupts. 2001-03-31 12:53:59 +00:00
toshii c1244a5828 Remove cons_init(com), which prevents compiling in com_pcmcia.c. 2001-03-31 12:52:31 +00:00
toshii 02811d05f2 Fix a bug which caused interrupt loss. 2001-03-31 12:49:21 +00:00
toshii 2efdaff40e Set hardware interrupt masks in sa11x0_intr_{establish,disestablish}. 2001-03-31 12:48:10 +00:00
toshii 129f529148 Back out most of rev 1.4 so that it compiles again. 2001-03-31 12:36:53 +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
toshii 221f247a25 Add some missing functionality.
- wait READY signal in enable function
 - use tsleep for large delays
 - implement disable function
2001-03-27 18:06:39 +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
toshii d2f3ad2de2 Support machdep.booted_kernel sysctl. 2001-03-23 11:10:10 +00:00
toshii 7ed6dadd10 Handle bootargs passed by hpcboot.
Change stack pointer initialization.
2001-03-23 08:58:14 +00:00
toshii 2d6322c3be Handle ELF symbol table. 2001-03-22 03:45:39 +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
toshii 7e9512010c Oops. I forgot this line. 2001-03-21 17:43:39 +00:00
toshii 4b32677535 Map DMA controller and disable its DMA channels. 2001-03-21 17:42:37 +00:00
toshii f8dab8e69a Make card insertion/removal work.
XXX powerdown and {io,mem}_unmap are still missing.
2001-03-21 16:16:35 +00:00
toshii 7c429e90c2 Handle interrupt polarity. 2001-03-21 16:08:34 +00:00
toshii f1b9737b90 Fix nit. 2001-03-21 14:48:30 +00:00
toshii d16849a006 Make this compile again. 2001-03-21 14:40:00 +00:00
toshii 1f21d8b280 hpcarm kernel is ELF. 2001-03-20 18:01:49 +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 c08eec9f47 Use hpc/hpc/disksubr.c. 2001-03-14 14:47:40 +00:00
bjh21 aebf9049d4 Update to use install_coproc_handler_static(), since install_coproc_handler()
isn't safe this early.

XXX hpcarm should use db_machine_init() to do this.
2001-03-13 20:52:48 +00:00
toshii 1bb261e173 Fix interrupt handling somewhat so that break signal gets DDB. 2001-03-12 03:27:18 +00:00
toshii ffe630e7c3 Sync with sa11x0_reg.h rev 1.4. 2001-03-11 14:37:03 +00:00
ichiro ea4611b0cd add ExtendedGPIO desc of iPAQ H3600 2001-03-11 07:27:36 +00:00
ichiro 2cb44b8020 add h3600 and jornada720 gpio port and irq 2001-03-11 06:00:42 +00:00
toshii a9e9b871de Add sacc, sacpcic, and sagpcic. 2001-03-10 19:05:40 +00:00
toshii f14e35f58e Driver code for SA11x1 based PCMCIA devices. 2001-03-10 19:01:27 +00:00
toshii 79d31f6571 Common driver code for SA11x0 PCMCIA function. 2001-03-10 19:00:39 +00:00
toshii 57abc92eeb This file is no longer used. PCMCIA driver code is divided into
sa11xx_pcic*, sa11x0_pcic* and sa11x1_pcic*.
2001-03-10 18:59:22 +00:00
toshii 2d36b2225d Support SA1111 companion chip. 2001-03-10 18:50:37 +00:00
toshii 356943c6c4 Fix nit. Read functions were actually writing. :-( 2001-03-10 17:32:14 +00:00
toshii 3a52278a23 Map GPIO registers in saip. 2001-03-10 15:34:38 +00:00
toshii 4c08e34e90 hpcarm/hpcarm/ast.c is no longer. 2001-03-10 14:10:51 +00:00
toshii b2cb6de80e Use sa11x0_bs_tag instead of mainbus_bs_tag. 2001-03-10 13:34:34 +00:00
toshii a62d9f6fa0 Handle the offset argument in bus_space_{read,write}* correctly. 2001-03-10 13:29:38 +00:00
toshii 4333644371 Copy bus_space_map() function from arm/mainbus/mainbus_io.c. 2001-03-10 13:27:53 +00:00
toshii 9224009c5d Fix bugs in delay().
- it could wait infinitely.
 - large roundoff error.
2001-03-09 18:55:29 +00:00
toshii aa76b5208c Make it compile again after arm, arm32 changes. 2001-03-09 12:13:15 +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
toshii 850f81157a Fix an error printf format. 2001-03-05 07:11:18 +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 aa34be4532 Make "options ARMFPE" work again.
Mostly due to Richard Earnshaw.
2001-03-04 14:32:12 +00:00
bjh21 0bf382d920 Remove redundant cdev_decl(cpu). 2001-03-04 14:14:23 +00:00
matt b575ca9f67 Remove local copies of these since they are now shared and are
in arm/arm32
2001-03-04 08:29:22 +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
bjh21 c32dba2092 Remove support for /dev/cpu*. This code has never done anything useful anyway. 2001-03-03 18:04:34 +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
bjh21 4b483d7606 Move "options ARMFPE" to files.arm, so generic ARM files can use it. 2001-02-27 17:56:31 +00:00
bjh21 6584a7e79d This file doesn't need <machine/cpus.h>. 2001-02-26 16:33:10 +00:00
reinoud 7127877cf8 Putting param.h back into hpcarm's include 2001-02-26 00:07:54 +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
toshii 64d5dfd570 Use MI md_root.c. 2001-02-25 15:45:23 +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 e89d229692 Make hpcarm compile again after movement of mainbus code 2001-02-24 20:13:59 +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
toshii ce7d8943e9 Use hardware address for saost. 2001-02-24 12:52:02 +00:00
toshii 735cec473d Remove unneeded hardcoded IO mappings. 2001-02-24 12:48:58 +00:00
toshii 6fee490e68 Use working bus_space_map. 2001-02-24 12:43:52 +00:00
toshii dfe9d2faf7 Implement bus_space_map(). 2001-02-24 12:41:20 +00:00
ichiro 9eeb0264fd change com-speed to 19200.
default com-speed of hpcboot are 19200
2001-02-24 11:08:31 +00:00
ichiro ba1664c1f3 add profile.h,profileio.h 2001-02-24 07:16:51 +00:00
ichiro b84bcefc8e i forgot writing some include files in Makefile 2001-02-24 07:09:20 +00:00
bjh21 6b7ad3aa3e __HAVE_NWSCONS and __HAVE_DEVICE_REGISTER are MACHINE-dependent. 2001-02-23 22:02:43 +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
ichiro 5137cda306 delete local-ID for cvs 2001-02-23 04:31:18 +00:00
ichiro c98cd6c023 hpcarm:
kernel for StrongARM-based WinCE PDA machine.
2001-02-23 03:48:06 +00:00