Commit Graph

1033 Commits

Author SHA1 Message Date
rjs
971ce6c243 Remove membase and memsize device config parameters. 2003-04-14 14:20:10 +00:00
rjs
9e4c3aa218 Remove unused structure member variables. 2003-04-14 14:18:41 +00:00
rjs
8704a520e3 Remove unused sa_membase and sa_memsize structure member variables. 2003-04-14 14:16:10 +00:00
nathanw
ff28c51cc0 Make cpu_getmcontext() run the PC through ras_lookup() so that kernel
getcontext() plus userlevel setcontext() (as used in libpthread) respects
the atomicity of RAS regions.
2003-04-11 22:02:28 +00:00
thorpej
bcea7d5f28 Use cached physical addresses for mbufs and clusters to save having
to extract the physical address from the virtual.

On the ARM, also use the "read-only at MMU" indication to avoid a
redundant cache clean operation.

Other platforms should use these two as examples of how to use these
new pool/mbuf features to improve network performance.  Note this requires
a platform to provide a working POOL_VTOPHYS().

Part 3 in a series of simple patches contributed by Wasabi Systems
to improve network performance.
2003-04-09 18:51:35 +00:00
thorpej
a0aee79a1d Add the ability for pool caches to cache the physical address of
objects.  Clients of the pool_cache API must consistently use
the "paddr" variants or not, otherwise behavior is undefined.

Enable this on Alpha, ARM, MIPS, and x86.  Other platforms must
define POOL_VTOPHYS() in the appropriate manner in order to enable
the feature.

Part 1 of a series of simple patches contributed by Wasabi Systems
to improve network performance.
2003-04-09 18:22:13 +00:00
thorpej
4d402f3790 Fix a typo. 2003-04-09 02:34:31 +00:00
thorpej
9a8042f242 Use PAGE_SIZE rather than NBPG. 2003-04-08 22:57:53 +00:00
rjs
5043a41a74 Add bs_mmap and make hack in bs_mmap conditional on hpcarm. 2003-04-06 12:56:45 +00:00
briggs
7679f5b28b Channel active is bit 10, not 9. 2003-04-05 04:18:26 +00:00
he
e7dc774449 Including <uvm/uvm_extern.h> exposed the fact that we had a benign
type mismatch for SetCPSR.  Remove local extern declaration, since
it's now superfluous.
2003-04-03 17:47:04 +00:00
thorpej
cc2c493bc4 Use PAGE_SIZE rather than NBPG. 2003-04-02 07:35:54 +00:00
thorpej
95281cabad Use PAGE_SIZE rather than NBPG. 2003-04-01 23:19:08 +00:00
thorpej
d071d9a8d0 Use PAGE_SIZE rather than NBPG. 2003-04-01 15:02:05 +00:00
chris
d19c70cbe2 Fix for PR arm/17971. Used patch as provided
Compiled, but no hardware to test on.
2003-03-31 19:52:35 +00:00
bsh
347085b57d put options XSCALE_CACHE_WRITE_THROUGH into opt_cpuoptions.h.
add XSCALE_CACHE_WRITE_BACK.
2003-03-29 07:59:41 +00:00
bsh
105db01dcd for Intel PXA2[15][05] processors, select write-back/write-through
cache based on CPU id.  write-through on PXA2[15]0 B2 stepping and
earlier. write-back on C0 and C1 stepping (a.k.a PXA2[15]5 A0)

options XSCALE_CACHE_WRITE_{THROUGH,BACK} can override it.

for other XScale CPUs than PXA2xx, XSCALE_CACHE_WRITE_THROUGH works
same as before.
2003-03-29 07:58:16 +00:00
mycroft
15e5d9ec58 Add a couple of byte-wide variants that weren't implemented -- I guess because
nobody else has a byte-accessible bus.
2003-03-27 19:46:14 +00:00
mycroft
49f94a02b4 Remove references to variables that aren't used here. 2003-03-27 19:42:30 +00:00
mycroft
6b44caa63e Doh, fix a pasto -- the ldr/str mask had a bad bit set. 2003-03-27 16:58:36 +00:00
mycroft
a589baf905 Fix multiple problems with ldrh/strh/ldrsb/ldrsh disassembly:
* The offset format was wrong.
* There is no post-increment or index register update.
* It wasn't even matching because the mask was wrong.
Also touch up ldr/str disassembly slightly.
2003-03-27 16:42:40 +00:00
mycroft
0c23a8613a Fix multiple bugs in the way we do the v4 MMU disable -- it was blasting way
too many bits (including some reserved ones) and was writing the wrong value
for the TLB flush.
Also, if the flag is off, don't write the control register!
2003-03-26 17:36:56 +00:00
thorpej
0abb67bb3b Bump copyright date for last. 2003-03-25 19:47:30 +00:00
thorpej
891be168b5 Add support for attaching on-chip peripherals to the BECC using
indirect configuration (because the BECC is a soft-core, it could
have a variety of peripherals in the FPGA).  Also add support for
local untranslated DMA.
2003-03-25 19:45:52 +00:00
igy
4691b478a0 Add __KERNEL_RCSID tags 2003-03-25 06:12:46 +00:00
bsh
3034a15d1f + fix a crash when write-back cache is used, by calling PTE_SYNC()
after tweaking page table entry.

+ 4th argument of bus_space_map() is not only for BUS_SPACE_MAP_CACHEABLE.
2003-03-24 04:15:49 +00:00
chris
c9033077aa Garbage collect pmap_map, the last (and only?) use has been removed. 2003-03-23 15:59:23 +00:00
chris
a97b660835 When doing a kernel dump use the pmap_k* funcs. Also make sure that all
data is written to ram.  This avoids issues with tlb's not being flushed
etc.

As discussed a long time ago on port-arm
2003-03-23 15:49:25 +00:00
chris
9fd86b683f Add __KERNEL_RCSID tags to footbridge files. 2003-03-23 14:12:25 +00:00
bsh
f8f0fcb3af don't make kernels with options DEBUG print too much debug messages. 2003-03-23 08:59:02 +00:00
bsh
ae4f6e5092 add interrupt numbers for built-in peripherals.
add register definitions for DMA, AC97, and USB.
2003-03-18 11:23:03 +00:00
bsh
f47a5ffeea simplify CPU ID test for Intel PXA2xx by masking core revision part.
This also allows the kernel to run on pxa255.
2003-03-18 11:20:56 +00:00
bsh
40eb5e9921 fix XScale core revision mask, and add masks for core generation and
product number.
2003-03-18 11:17:31 +00:00
he
b648593b37 Initialize the two new members of "struct consdev" to NULL, so that
this file compiles again.
2003-03-08 10:59:02 +00:00
rjs
b486d4a0ff Add NULL cn_halt and cn_flush entries to consdev. 2003-03-07 13:30:35 +00:00
skrll
bcc03a47aa Add NULL cn_halt and cn_flush entries to consdevs. Hi Matt! 2003-03-06 13:09:28 +00:00
igy
9ead47682a catch up to consdev update 2003-03-06 07:39:34 +00:00
igy
3c0a5d1f13 Remove #ifdef __HAVE_GENERIC_SOFT_INTERRUPTS switch and old interrupt
support.  Ixp12x0 port always uses generic soft interrupt.
2003-03-06 06:17:43 +00:00
igy
edcaa77675 insert macro to protect itself against multiple includion. 2003-03-06 06:14:16 +00:00
agc
2a540cd45f Forward declare struct lwp as well as struct trapframe. 2003-03-05 11:28:14 +00:00
thorpej
23d2066add Cast the argument passed to vtophys() to a vaddr_t. 2003-03-04 01:10:50 +00:00
tshiozak
31e2cbf0b5 add some ISO C 1995 I18N functions and types:
btowc, wctrans, towctrans, wcscoll, wcsxfrm, wctype_t and wctrans_t.
2003-03-02 22:18:11 +00:00
thorpej
5afa6838bf Do the syscall_plain/syscall_fancy dance on ARM. Shaves a fair number
of cycles off the syscall overhead.

Since all COMPAT_LINUX platforms now support __HAVE_SYSCALL_INTERN,
garbage-collect the LINUX_SYSCALL_FUNCTION stuff.
2003-03-01 04:36:38 +00:00
thorpej
20c4b7b844 Change pcb32_pagedir to a paddr_t (after all, it's used as a paddr_t
everywhere in the code).
2003-02-23 23:40:01 +00:00
igy
d399d9df43 fix incorrect interrupt mask handling.
pci_imask[IPL_NET] is incorrectly ORed on imask[IPL_SOFTSERIAL].
imask[IPL_NET] should be ORed.
2003-02-22 11:13:10 +00:00
igy
4e8142fde2 correct physical/virtual address handling
- to identify device instance, using hardware address.
	- when console accesses device, using statically mapped address.
	- when tty accesses device, using handler given by bus_space_map().
2003-02-22 05:32:00 +00:00
igy
a7a7697279 Don't use dv_unit to determine console. Back to comparing iobase again.
We always assume ixpcom is at statically mapped address (0xf0000000).
2003-02-21 01:53:35 +00:00
igy
6248ef9b7e implement ioctl 2003-02-21 00:31:08 +00:00
chris
203288830a Convert a few types into things that are more accurate, mostly:
int's to unsigned int/u_int where they shouldn't go negative.
int's to boolean_t's where they're being used as bools.

No real functional change (in the produced asm a few condition codes changed)
2003-02-21 00:23:03 +00:00
ichiro
4b8928ad4a files.ixp12x0
no need device ixpcom in evbarm/conf/files.evbarm move it to
arm/ixp12x0/files.ixp12x0

ixp12x0_com.c:
some fix around address handling
1. Do not call bus_space_map() in ixpcominit().  Calling bus_space_map()
   is not safe here, because bus_space_map() calls uvm_km_valloc() but
   uvm is not yet initialized.
2. Use dv_unit to determine console instead comparering iobase.
   Now you can attach ixpcom0 with physical address like this:
        ixpcom*         at ixpsip? addr 0x90000000 size 0x4000
Statically mapped address (0xf0000000) is still usable.

ixp12x0_clk:
1. access PLL_CFG register via bus_space
2. Make the delay() working correctly.  (bug fix)
3. Start the timer device without interrupt on attach time.
   Now delay() called before cpu_initclocks() works fine.

ixp12x0_pci:
1.Mapping PCI type0/1 configuration space to the upper address.
2."PCI I/O Cycle Access" mapping to same virtual address(VA==PA)
   but size of this mapping increase to 1MByte because fails
   cause couldnt set L2 table.
3.use bus_space address handling in ixp12x0_pci.c.
2003-02-17 20:51:52 +00:00