Commit Graph

430 Commits

Author SHA1 Message Date
thorpej
9c31f51c34 Rename map_section() to pmap_map_section(), move it to pmap.c, and give it
an extra argument (prot - specifies protection of the mapping).
2002-02-20 00:10:15 +00:00
thorpej
cd98cbf7fb * For platforms which are already ELF, remove the definition of
MACHINE_ARCH since <arm/param.h> already sets it correctly to "arm".
* For platforms which are not yet ELF, defined MACHINE_ARCH to "arm32"
  if __ELF__ is not defined by the C preprocessor.
* In <arm/param.h>, clarify the rules about when MACHINE and
  MACHINE_ARCH are defined, and to what.  Also, for ELF platforms,
  int the non-_KERNEL case, force both MACHINE and MACHINE_ARCH to "arm",
  rather than allowing platform-specifc code to define either.
2002-02-12 06:58:18 +00:00
chris
fbc89911ed Fix location of some headers, IPAQ kernel now manages to make depend. 2002-02-08 10:37:16 +00:00
uch
7caec24d41 bootinfo.h, config_hook.h, platid.h are moved to hpc/include 2002-02-02 05:31:56 +00:00
uch
6edf1a4018 bootinfo.h, config_hook.h, platid.h are moved to hpc/include 2002-02-01 18:16:03 +00:00
thorpej
c45f5707d4 sa11x0_idle_mem is now an extern. 2002-01-30 00:40:20 +00:00
thorpej
53141e6287 Now that there is a generic SA-11x0 CPU sleep routine, use the
shared arm32 cpuswitch.S.
2002-01-30 00:38:55 +00:00
jdolecek
6d265bd894 add options PIPE_SOCKETPAIR to individual kernel configs
the option is commented out on everything but kernels I was able
to recognize as INSTALL-like or ones for small memory machines
2002-01-27 13:23:08 +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
toshii
ee99b636ab Add back a missing key mapping for Japanese jornada720. 2002-01-18 15:27:26 +00:00
toshii
4e09455de8 Make jornada720 serial port work when it isn't used as a console. 2002-01-04 16:36:41 +00:00
toshii
f8c1bea196 Allow jornada720 LCD and keyboard to be used as a boot console. 2001-12-28 01:41:53 +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
thorpej
4d3393a2c8 Remove the MACHINE_ARCH assignment. 2001-12-19 17:43:19 +00:00
atatat
b45c51b1fc Roll the rest of the ports over to the new MI kernel build machinery.
Any problems reported by testers have been fixed, and massive
cross-compiling of kernels has shown that any problems that remain
with actually building kernels are not related to this.
2001-12-09 05:00:40 +00:00
lukem
ecb81c3f6d - convert usage of "defopt" to "defflag" where the relevant option does
not support a value (e.g., it's to be used as "options FOO" instead of
  "options FOO=xxx"). options that take a value were converted to
  defparam recently.
- minor whitespace & formatting cleanups
2001-11-28 10:21:10 +00:00
thorpej
28466919a2 Use <machine/intr.h> rather than <machine/irqhandler.h> 2001-11-27 01:03:52 +00:00
thorpej
0a6ce2ccf5 Use the generic 32-bit ARM genassym.cf 2001-11-27 00:25:32 +00:00
thorpej
8d636bc825 Blah, hpcarm also has its own intr.c 2001-11-27 00:24:44 +00:00
thorpej
37677ca786 Allow port-specific Makefile fragments to specify a list of additional
genassym.cf fragments, if desired.
2001-11-26 23:54:49 +00:00
thorpej
0ca43a5fde Use <arm/arm32/psl.h>, not <machine/psl.h>. 2001-11-26 20:51:57 +00:00
thorpej
87f09650f1 Oops, don't use the generic spl.S; hpcarm provides its own. 2001-11-26 20:49:52 +00:00
thorpej
e0c4ce6999 Use <arm/arm32/psl.h> rather than <machine/psl.h>. 2001-11-26 20:43:46 +00:00
thorpej
87cab44e4e Delete <machine/psl.h> from the ARM ports. It's not a header that
we need to provide to MI code or to userland, and it's also not a
header that generic ARM code should be including directly.
2001-11-26 20:41:42 +00:00
thorpej
534b950d29 Move the interrupt-related file declarations into port-specific
config descriptions so that each port choose whether or not to
use it.
2001-11-26 20:33:43 +00:00
thorpej
a3a8490ca2 Sanitize hpcarm includes somewhat, make them more like other ARM ports. 2001-11-24 17:39:31 +00:00
thorpej
372f11b657 The ARM, Ltd. floating point emulator has moved to arch/arm. 2001-11-24 01:43:20 +00:00
thorpej
ef9741def9 No need to install bootconfig.h 2001-11-24 00:57:43 +00:00
thorpej
b8ed19b4ef No longer need <machine/undefined.h>. 2001-11-23 21:23:30 +00:00
thorpej
fc019be5fd Use <arm/undefined.h> instead of <machine/undefined.h>. 2001-11-23 21:18:29 +00:00
thorpej
597c20c6d6 Don't need a <machine/profileio.h> on these platforms. 2001-11-23 20:56:27 +00:00
thorpej
0a824f32cb No longer need <machine/pte.h>. 2001-11-23 20:43:03 +00:00
thorpej
a41a73c44a No longer need <machine/cpus.h> 2001-11-23 19:51:32 +00:00
thorpej
889b84bdfc Use <arm/cpus.h>, not <machine/cpus.h> 2001-11-23 19:46:35 +00:00
thorpej
969599022a Use <arm/cpufunc.h>, not <machine/cpufunc.h>. 2001-11-23 19:36:48 +00:00
thorpej
5101f01dff Move even more constants into the shared 32-bit vmparam.h header.
Cleanup elsewhere will have to be done before we can sanitize this
header any further.
2001-11-23 18:16:10 +00:00
thorpej
15c76e3c84 - Move more contents of various <machine/vmparam.h> files into
<arm/arm32/vmparam.h> (mostly the stuff that's tied to the pmap
  implementation).
- Since the MMU definitions in pte.h are specific to ARM processors
  that support 32-bit mode, move pte.h to <arm/arm32/pte.h>.
- Make the Netwinder startup file build again (use PT_B|PT_C, rather
  than PT_CACHEABLE, since the latter expands to a variable these days).
2001-11-23 17:39:03 +00:00
thorpej
0ec8fbad4d Extra whitespace removal. 2001-11-23 17:29:00 +00:00
thorpej
fec02f1259 No need to pull in <machine/pte.h> directly. 2001-11-23 17:23:40 +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
thorpej
67fd41ddbf Add 26-bit and 32-bit types.h files, which indicate the programming
model in use for a given platform (__PROG26 vs __PROG32), then pulls
in <arm/types.h>.  Change each ARM port to pull in <arm/arm26/types.h>
or <arm/arm32/types.h> as appropriate.  Change all references to PROG26
and PROG32 to __PROG26 and __PROG32.  Eliminate the opt_progmode.h
header file.
2001-11-22 17:59:57 +00:00
lukem
03aef4723c cleanup:
options SPACE TAB
	makeoptions TAB
	psuedo-device TAB
	remove trailing whitespace
	replace multiple spaces -> tabs
	options "FOO" -> options FOO
	options "FOO=bar" -> options FOO=bar
	options "FOO=\"bar\"" -> options FOO="\"bar\""
2001-11-20 12:56:17 +00:00
lukem
99bccc3cab - pull in opt_kgdb.h where necessary
- replace opt_kgdb_machdep.h with opt_kgdb.h
- defparam opt_kgdb.h:
	KGDB_DEV KGDB_DEVNAME KGDB_DEVADDR KGDB_DEVRATE KGDB_DEVMODE
- move from opt_ddbparam.h to opt_ddb.h:
	DDB_FROMCONSOLE DDB_ONPANIC DDB_HISTORY_SIZE DDB_BREAK_CHAR SYMTAB_SPACE
- replace KGDBDEV with KGDB_DEV
- replace KGDBADDR with KGDB_DEVADDR
- replace KGDBMODE with KGDB_DEVMODE
- replace KGDBRATE with KGDB_DEVRATE
- use `9600' instead of `0x2580' for 9600 baud rate
- use correct quotes for  options KGDB_DEVNAME="\"com\""
- use correct quotes for  options KGDB_DEV="17*256+0"
- remove unnecessary dependancy on Makefile for kgdb_stub.o
- minor whitespace cleanup
2001-11-20 08:43:19 +00:00
thorpej
6b842c44f3 MACHINE_ARCH == arm on hpcarm. 2001-11-15 19:35:31 +00:00
soren
662f877587 MAXSLP is defined to be a machine-independent scheduling parameter,
so move it into sys/param.h.
2001-11-15 18:06:11 +00:00
augustss
c5477b70aa The wsmux pseudo device does not need a count anymore. 2001-11-13 17:54:46 +00:00
thorpej
4ffa983428 Pull in common 32-bit ARM VM parameters. 2001-11-11 16:44:15 +00:00
thorpej
47514a31be Remove unneeded declarations of the db_machine_init() function. The
ARM ports are the only ones that actually have one, and it is about
to change.
2001-11-09 06:52:23 +00:00
thorpej
3130a93ac8 Remove unnecessary prototypes for zero_page_read{only,write}(). 2001-11-09 00:34:34 +00:00
jmc
6d536163de Change defaults for kernel compiles. Default all to USETOOLS?=no and have
the etc Makefile override that by putting USETOOLS into $.MAKEOVERRIDES
This way the default for kernel compiles is still to use the installed
toolchain instead of depending on $TOOLDIR. $TOOLDIR can be used by
simply adding USETOOLS=yes to the command line as usual.

Adjust each ports template to set the default no setting and also pull in
bsd.own.mk if they weren't already to ensure they'll build correctly
with the new toolchain setup.
2001-10-26 06:45:33 +00:00
thorpej
ba217c4196 Set MACHINE_ARCH explicitly in Makefiles for which it is constant.
Also, since config(8) now explcitly sets MACHINE, there is no need
to do it here in the Makefile.
2001-10-23 19:26:41 +00:00
thorpej
a2bf3bc31b Pull in <bsd.own.mk> to get the correct toolchain definitions for
the USE_NEW_TOOLCHAIN case.
2001-10-23 17:32:35 +00:00
takemura
ca59965026 Renamed platid_search() to platid_search_data() and added new platid_search().
Platid_name() was re-implemented using platid_search().
2001-09-24 14:29:30 +00:00
chris
0e7661f023 Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
2001-09-10 21:19:08 +00:00
pooka
58bcf84390 Add bs_notimpl_bs_mmap into the bus space struct to make this cope with
the recent ARM bus_space_mmap() change and hence make this compile.
2001-09-10 15:47:38 +00:00
toshii
7c9e82d6e3 Don't define pcb_* register macros.
pcb_sp macro conflicts with sys/netinet6/ipsec.c.
2001-09-09 10:33:42 +00:00
toshii
9665c1bcc3 Use arm/arm32/vm_machdep.c instead of hpcarm one. 2001-09-09 09:59:24 +00:00
toshii
b45ffd445a Readd sacom to cdevsw. 2001-09-09 09:54:13 +00:00
toshii
17e80273eb #include "sacom.h" for constab[]. 2001-09-09 08:07:36 +00:00
wiz
b940fa8a83 Fix typos (CONS instead of CONF, and specifc instead of specific). 2001-09-04 21:45:19 +00:00
matt
3c50edd8fb Switch hpcarm to common arm32 conf.c ; (small changes to vm_machdep.c to
make it compile under ELF)
2001-09-03 19:38:13 +00:00
matt
7ce6450eac Add a merged <pcb.h> for arm26/arm32. 2001-09-03 19:20:27 +00:00
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