Commit Graph

1176 Commits

Author SHA1 Message Date
bsh b80cc89773 tweak to share s3c2xx0_intr.c for S3C2800 and S3C2410.
move init_interrupt_masks() from s3c2xx0_intr.c to s3c2800_intr.c, since
it doesn't work for S3C2410.
2003-08-01 00:40:17 +00:00
bsh d887fc052f delete an incorrecct comment
delete unused definitions
2003-08-01 00:30:21 +00:00
bsh 2393816ede add SSCOM_S3C2410 option. 2003-07-31 20:34:15 +00:00
bsh 86ab1d6591 the first cut of Samsung S3C2410 support.
It is Samsung's another ARM920 based SoC.

XXX: not tested much yet.
2003-07-31 19:49:41 +00:00
bsh eb6fd47108 split sscomintr() to sscomtxintr() and sscomrxintr(). 2003-07-31 19:08:10 +00:00
bsh 675f6328c9 + enable nested interrupts. This change stopped silo overflow messages
at 115200bps.

+ disable all hard interrupts by default.

+ rewrite s3c2xx0_(un)mask_interrupt() to make them faster.
2003-07-30 18:25:50 +00:00
he d3c139da44 Initialize the new _cookie member of arm32_bus_dma_tag to NULL. 2003-07-30 17:28:19 +00:00
thorpej d55cef76bf Add an opaque cookie field to the bus dma tag. 2003-07-28 17:35:54 +00:00
thorpej adef1b7dab Add PBIU register bits. 2003-07-28 16:53:31 +00:00
itojun 3f14c71f75 reserve cdev major # for PF. ok'ed by technical-exec 2003-07-27 14:17:57 +00:00
thorpej 472c98cf7a Fix think'o in last. Pointed out by Izumi Tsutsui. 2003-07-27 04:52:28 +00:00
thorpej ca601a7747 Flesh out inittodr() and resettodr(). 2003-07-26 05:51:11 +00:00
briggs d4f2e39afc Clear ARM32_DMAMAP_COHERENT in _bus_dmamap_load_buffer for userspace mappings. 2003-07-24 16:22:01 +00:00
bsh 5d7bb2a528 $Id$ -> $NetBSD$ 2003-07-23 09:26:15 +00:00
igy fcd9e244be Delaying to mask interrupt by hardware until actually it occurs.
The new code maintains two variables 'current_spl_level' and
'hardware_spl_level'.  Variable hardware_spl_level reflects actual
priority level at the hardware's point of view.  hardware_spl_level is
always synchronized to hardware.

splraise() just increases current_spl_level.  splx() sets
current_spl_level.  If (and only if) hardware_spl_level and
current_spl_level is not same, splx() synchronizes interrupt mask
register and hardware_spl_level to current_spl_level.

In most case, splraise() raises current_spl_level and splx() restores
only current_spl_level.

When an interrupt occurs, hardware_spl_level and interrupt mask
register are synchronized to current_spl_level.

In this implementation, during a higher priority interrupt handler is
running, lower priority interrupts never cause intr_dispatch() to run.
It will avoid some race condition.
2003-07-21 06:17:32 +00:00
lukem 08716eae82 __KERNEL_RCSID() 2003-07-15 00:24:37 +00:00
lukem 1b7326b581 use __KERNEL_RCSID() in a consistent manner 2003-07-14 22:48:19 +00:00
lukem de043b8788 use __KERNEL_RCSID(0, instead of RCSID( in the kernel 2003-07-14 15:17:13 +00:00
igy b449da1391 KNF 2003-07-13 09:25:50 +00:00
igy a90b1b8eca code clean up 2003-07-13 08:56:16 +00:00
igy 3e9598d4fa move window of pci i/o cycle to higher address 2003-07-13 08:26:31 +00:00
igy cdb56b83f6 mapping pci configuration space (not subregion) 2003-07-13 07:15:22 +00:00
igy 1087696257 using common bus_space_tag in ixpsip too 2003-07-13 02:48:41 +00:00
igy 365f7e1994 sharing bus_space_tag among ixpio, pci mem and i/o. 2003-07-13 02:11:58 +00:00
igy 2a9dfe7684 using devmap for static mapping 2003-07-13 01:01:50 +00:00
thorpej 88f63e28d6 Make faulting in DDB continue back in the top-level command
loop properly.
2003-07-09 20:14:14 +00:00
dogcow ccd442eae3 gcc 3.2 complained about the missing __volatile and extra tokens after #endif. 2003-07-05 06:53:08 +00:00
ichiro c2cac1cbd8 add sdram configration register 2003-07-02 14:03:52 +00:00
ichiro 38e0b1c5c5 use struct pmap_devmap 2003-07-02 11:02:28 +00:00
ichiro 25096a1afe backout to recent changes w/o lwp changes 2003-07-02 10:40:46 +00:00
thorpej 22c08fe417 PCI-X requires that that devices updated their PCIXSR on every
config write with the device number specified in AD[15:11].  If
we don't set this field when issuing a Type 0 cycle, each device
could end of thinking it is at device 0, which can cause a number
of problems.  Doing this unconditionally should be OK when only
PCI devices are present.
2003-06-30 15:27:12 +00:00
fvdl d5aece61d6 Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
2003-06-29 22:28:00 +00:00
chris 6721e83cfc Fixes to get cats build going following proc to lwp changes. 2003-06-29 14:51:04 +00:00
ichiro 904951f445 struct proc * -> struct lwp * 2003-06-29 11:10:35 +00:00
ichiro 4eee2aed2e struct proc * -> struct lwp *
ixp425_com:
add some status flags
2003-06-29 10:51:29 +00:00
darrenr 960df3c8d1 Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records.  The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V
2003-06-28 14:20:43 +00:00
martin d505b18964 Make sure to include opt_foo.h if a defflag option FOO is used. 2003-06-23 11:00:59 +00:00
chris 93632a0574 Fix for port-arm/21962. Rather than fixing the #ifndef spl0, I removed
the test as spl0 is actually a macro for splx(0). The code now calls
splx(0)

(note building with the #ifdef fixed, caused the build to fail on a
GENERIC acorn32 kernel.)
2003-06-23 09:05:22 +00:00
bsh 7aeb49a6b4 don't map PCI device's I/O ports at address 0.
This fixed a problem when 3com 3C905 is a only PCI card on SMDK2800.
2003-06-18 10:56:35 +00:00
bsh 1928d3ed36 enable BTUART 2003-06-18 09:40:06 +00:00
bsh d8193564ca protect with #ifndef _LOCORE so that assembler codes can share
definitions in this file such as PMAP_DOMAIN_KERNEL.
2003-06-18 02:58:09 +00:00
bsh ddb2467dd1 make this compile again:
+ we don't have struct pxa2x0_softc anymore.
   + call pxa2x0_clkman_config() to provide clock to LCDC block.
2003-06-17 09:43:14 +00:00
bsh 3c87cee70f white space nit. 2003-06-17 09:32:38 +00:00
thorpej 452a8fdae2 Rename IPL_IMP -> IPL_VM. 2003-06-16 20:00:56 +00:00
fvdl 7dd7f8baa2 Handle 64bit DMA addresses on PCI for platforms that can (currently only
enabled on amd64). Add a dmat64 field to various PCI attach structures,
and pass it down where needed. Implement a simple new function called
pci_dma64_available(pa) to test if 64bit DMA addresses may be used.
This returns 1 iff _PCI_HAVE_DMA64 is defined in <machine/pci_machdep.h>,
and there is more than 4G of memory.
2003-06-15 23:08:53 +00:00
thorpej cf8a25bdfc Add another devmap routine that allows bootstrap code to register
a devmap reflecting mappings that are created by really early
bootstrap code before pmap_devmap_bootstrap() is called.
2003-06-15 18:18:16 +00:00
thorpej 87d5bba5b3 Replace the ad-hoc "section mapping table" for static device mappings
with a more generic "devmap" structure that can also handle mappings
made with large and small pages.  Add new pmap routines to enter these
mappings during bootstrap (and "remember" the devmap), and routines to
look up the static mappings once the kernel is running.
2003-06-15 17:45:21 +00:00
thorpej 5ae120da7b Introduce a new "type" field in the softc which is used to indicate
the general UART type.  Currently, we have "normal", "hayesp" and
"pxa2x0" types.  Replace the corresponding hw flags with the new type
values.
2003-06-14 16:25:52 +00:00
scw e9bb3437d0 - Correct a couple of comments.
- Set AC97_MODR to the right value.
 - Add AC97_FEFIE.
2003-06-11 20:43:01 +00:00
scw 12b4852056 Gah, fix previous. s/defopt/defflag/ 2003-06-06 19:56:59 +00:00