Commit Graph

35003 Commits

Author SHA1 Message Date
he 34c6df3404 Initialize the two new members of "struct consdev" to NULL so that
this file compiles again.
2003-03-08 09:47:13 +00:00
he 0f55132c91 Initialize the two new members of "struct console" to NULL so that
this file compiles again.
2003-03-08 09:42:56 +00:00
rafal 67cca2386c Protect uses of MIPS_R5000 with #ifndef ENABLE_MIPS_R3NKK in new code just
as the old code does.
2003-03-08 05:18:25 +00:00
rafal 33fcc94c6f Add support for R5k secondary caches, from code Chris Sekiya sent me a long
time ago, with small tweaks by me.  Since the R5k doesn't do VCE, the pmap
still needs to be whacked for R5kSC CPUs to work correctly, but this is a
start.
2003-03-08 04:43:24 +00:00
tsutsui 12a8e27857 Remove .pdr section which is created by binutils-2.13.2.1
on objcopy call to make ECOFF kernels.
2003-03-08 02:58:55 +00:00
he 585b922ff4 Initialize the new function pointers to NULL, so this compiles again. 2003-03-08 01:18:42 +00:00
fvdl 59a910ed6a Move the MTRR option to std.x86_64. 2003-03-08 00:08:46 +00:00
lukem 6107a9b605 crank memory disk from 1360 blocks to 1376 blocks 2003-03-08 00:04:36 +00:00
matt dfb9f2d504 Remove some constant (use value in bus_space_tags). 2003-03-07 18:24:00 +00:00
rjs b486d4a0ff Add NULL cn_halt and cn_flush entries to consdev. 2003-03-07 13:30:35 +00:00
fvdl 02de215ad2 Add cpu* at mainbus. 2003-03-07 11:02:50 +00:00
taca e7e88128f7 Fix compile error with struct consdev change. 2003-03-06 23:47:35 +00:00
fvdl d2c1c747ec Remove last traces of pccons. 2003-03-06 23:21:36 +00:00
fvdl 167eeeab9c Update for kernel include changes. 2003-03-06 22:32:07 +00:00
fvdl 06114d8df6 Don't descend into ../i386/include anymore. 2003-03-06 22:22:55 +00:00
fvdl 00289f6f52 Put the correct value in the TPR before entering DDB. 2003-03-06 22:17:44 +00:00
fvdl 51c335ad9a Fixup DDB entry and register access. 2003-03-06 20:58:09 +00:00
matt feeb962699 Correct pci1 bus_space tag. 2003-03-06 20:15:24 +00:00
thorpej ea9a7f73e0 * No need for an interface attribute on "dma".
* Take the "dma" attribute off fhpib and nhpib, so that leaving out "dma"
  causes a compile-time error, rather than a run-time crash.
2003-03-06 18:28:52 +00:00
thorpej bba7685f5f Update for consdev changes. 2003-03-06 18:24:52 +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
matt 210f48e582 Remove unneeded conditional code. 2003-03-06 07:15:46 +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
matt 3dc865b386 Relocate Discovery first thing in initppc (if not at expected address).
This implies that if PMON tells us where the GT is, we write that address
in gtbase.
2003-03-06 06:04:21 +00:00
matt a190651169 Make most of PPC (OEA) bus_space's identical (or as identical as possible).
(except mvmeppc).
2003-03-06 05:25:18 +00:00
fvdl 27e2af69da Call db_machine_init to set up the ddb ipi vector. 2003-03-06 00:47:00 +00:00
matt 0b8a5fd80f Adapt to powerpc/bus.h changes. 2003-03-06 00:20:39 +00:00
fvdl 4e5e707719 * Rework interrupt code
* Redirect some include files to x86
* Enable ioapic usage
* Do MP.
2003-03-05 23:55:57 +00:00
thorpej 6689073e50 When computing the LOADADDR() of .data and .sdata, use:
LOADADDR(previous_section) + (ADDR(current_section) - ADDR(previous_section))

to avoid using SIZEOF(), which does not properly take into account
the size of orphans that might be sorted with the section.
2003-03-05 23:54:22 +00:00
matt ff2281b498 Add preliminary support Marvell (Galileo) Discovery System Controllers.
This code was contributed by Allegro Networks.
2003-03-05 22:08:18 +00:00
soren ea477f4ba7 Forgot dummy printf. 2003-03-05 16:52:16 +00:00
soren 1f3cd4f95f Be more verbose about unsupported keys. 2003-03-05 16:18:24 +00:00
agc 2a540cd45f Forward declare struct lwp as well as struct trapframe. 2003-03-05 11:28:14 +00:00
grant e41c87001a fix some comments 2003-03-05 10:27:59 +00:00
jklos ba44f83888 Fix from Frederick Bruckman to get current kernels booting again. 2003-03-05 05:56:26 +00:00
matt 92d0498c3d Remove port-specific procfs_machdep.c (since they are all identical and
a better one resides in powerpc/powerpc/).
2003-03-05 05:43:42 +00:00
matt 6d251b3be3 Make AltiVec registers available via ptrace/procfs. Simplify AltiVec
processing.  Add a "common" procfs_machdep.c for PowerPC platforms.
Even though it is supposed to be port specific, most (if not all)
PowerPC ports can just use the common one.
2003-03-05 05:27:24 +00:00
fvdl 91ef1f21bf Make the apic address unsigned, as it should be. 2003-03-04 23:27:32 +00:00
fvdl c89161c65f ioapic address is not actually a pointer, initialize it as uint32_t 2003-03-04 23:21:25 +00:00
fvdl e575c4bc69 Fix some fields that did not have explicit types yet. 2003-03-04 23:20:29 +00:00
fvdl 48aa516ffe Use read_psl and write_psl. 2003-03-04 22:43:36 +00:00
fvdl e1a37a9604 Define read_psl and write_psl as aliases for read_eflags and write_eflags. 2003-03-04 22:43:09 +00:00
fvdl b2a3a55d38 Enable the define for EISA MPBIOS support. 2003-03-04 22:19:32 +00:00
fvdl d9bd125d50 Make EISA support conditional (on by default on i386). 2003-03-04 22:19:04 +00:00
yamt 182b7b7cda lower acpi interrupt level to IPL_VM.
it's the highest level it can use because it uses malloc(9).
XXX probably, it's still higher than it needs.

ok'ed by thorpej.
2003-03-04 13:44:08 +00:00
soren e0395ed0f1 G/c old macppc grf entries. 2003-03-04 13:29:12 +00:00
soren 889bcccc72 Attach on recent TiBooks.
XXX The mixer doesn't work yet.
2003-03-04 13:28:20 +00:00
matt fb2cebb577 Pass the address of the intrframe to the ext_intr routine. 2003-03-04 08:34:12 +00:00
matt e1d9426036 Make to define ${BOARDTYPE} 2003-03-04 07:52:21 +00:00
matt 107803a3a3 Re-arrange things in evbppc & powerpc to support OEA-based eval boards
in evbppc.  OEA-based board(s) to be added later.
2003-03-04 07:50:57 +00:00
matt 9875f9218d Add some missing volatiles. 2003-03-04 07:48:09 +00:00
thorpej 23d2066add Cast the argument passed to vtophys() to a vaddr_t. 2003-03-04 01:10:50 +00:00
fvdl a345044000 s/i386_isa_chipset/x86_isa_chipset/ 2003-03-04 01:07:36 +00:00
fvdl f28dd1acef s/i386_isa_chipset/x86_isa_chipset/, it's defined on multiple ports, but
used in shared code.
2003-03-04 01:06:38 +00:00
pk f26c7b7e7f Note a kernel pmap locking problem in pmap_kenter_pa4m(). 2003-03-03 22:43:58 +00:00
fvdl 7b925fa8cf Use unsigned long long to print msr values. 2003-03-03 22:23:22 +00:00
fvdl 2934facefc use CVAROFF. 2003-03-03 22:17:15 +00:00
fvdl 60ff7764b1 Use pmap_cpu_has_pg_n() 2003-03-03 22:16:54 +00:00
fvdl 22c3c5973b The IDT is an array of struct gate_descriptor. 2003-03-03 22:16:20 +00:00
fvdl 5d9be5f0db The IDT only contains gate descriptors, so define it as such. 2003-03-03 22:14:15 +00:00
fvdl 1b64bc0ae7 define pmap_cpu_has_pg_n and pmap_cpu_has_invlpg to make code sharing
easier.
2003-03-03 22:13:16 +00:00
fvdl 3ebdf8bcc3 Make CVAR asm reference macro CVAROFF, taking an offset. 2003-03-03 22:12:22 +00:00
fvdl cf1495e079 Install cpuvar.h 2003-03-03 20:26:18 +00:00
ragge 6c0c8e1049 Change the pmap to use 512-byte pages as user page table pages instead of
PAGE_SIZE pages (4k). An average small program uses ~6 4k pages (24k),
while the same program only uses ~20 512 byte pages (10k), so it will be
a small memory usage improvement. The large improvement will be the upcoming
ability to share page table pages between processes for shared libraries.

Remaining: should be able to give back ptp pages to the system.
2003-03-02 22:19:06 +00:00
christos 767bfa5fb6 microtime.S depends on assym.h 2003-03-02 22:19:05 +00:00
ragge 2b65555cf7 Change the pmap to use 512-byte pages as user page table pages instead of
PAGE_SIZE pages (4k). An average small program uses ~6 4k pages (24k),
while the same program only uses ~20 512 byte pages (10k), so it will be
a small memory usage improvement. The large improvement will be the upcoming
ability to share page table pages between processes for shared libraries.

Remaining: should be able to give back ptp pages to the system.
2003-03-02 22:19:04 +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
pk 77accc351e Use the new pmap_kprotect() function instead of pmap_changeprot().
The latter is now a pmap internal function; and it wasn't used correctly
in mkclock.c anyway.
2003-03-02 21:42:48 +00:00
pk 22cf03a09f pmap_changeprot() is not a UVM <-> PMAP interface function; make it internal.
Provide pmap_kprotect() for MD code to change protection on a range of
kernel addresses (cuurent users: intr.c and mkclock.c).
2003-03-02 21:37:20 +00:00
fvdl 7f72a2bff2 Clean up some unneeded "mca.h" and "eisa.h" includes, make one that is
needed dependent on !__x86_64__. To be revisited later.
2003-03-02 18:27:14 +00:00
fvdl 636c7ca859 x86_64 has no mca.h and eisa.h (should perhaps just generate empty ones) 2003-03-02 18:11:03 +00:00
fvdl 8d69f823b1 Redirect to x86/ 2003-03-02 18:09:42 +00:00
tsutsui 8aa243df44 Bump SYMTAB_SPACE to 192000. 2003-03-02 04:42:40 +00:00
tsutsui 9c5dcb82ac Cleanup G2_LOCK/G2_UNLOCK macros per discussion on port-dreamcast:
- Use _cpu_intr_suspend()/_cpu_intr_resume() in G2_LOCK/G2_UNLOCK macros
  rather than _cpu_exception_suspend()/_cpu_exception_resume().
  TLB miss exceptions could happen on accessing buffer, but it will never
  block G2bus cycle anyway.
- Restore the previous SR.IMASK value in G2_UNLOCK().
- some misc cosmetics.

Should fix spontaneous reboots by "ping -s 8192 host" on the LAN Adapter.
2003-03-02 04:23:16 +00:00
matt 5401f85320 Restore MQ to trapframe from mcontext since it's in both. 2003-03-02 01:07:55 +00:00
fvdl 0cb6724bc7 lock_machdep.c moved here from arch/i386/i386. 2003-03-01 22:55:02 +00:00
fvdl f555536d9b Move lock_machdep.c to arch/x86/x86. 2003-03-01 22:53:39 +00:00
matt 986f7ca902 Add machdep sysctl support. Support booted_device, consdev, and
printfataltraps.
2003-03-01 21:51:59 +00:00
fvdl aeaf29a3a3 Redirect to x86/cpuvar.h 2003-03-01 18:30:03 +00:00
fvdl 9ad868eb65 Moved here from i386/include 2003-03-01 18:29:28 +00:00
fvdl a3b7772adf Move the CPU identification out of machdep.c into a seperate file. 2003-03-01 16:37:51 +00:00
fvdl de9139c67d Follow the spec more closely, and do an ljmp immediately after enabling
protected mode, not several instructions afterwards.
2003-03-01 16:36:37 +00:00
fvdl dbef38adbf This was still falsely referencing the ipending variable, which isn't
used anymore. Use curcpu()->ci_ipending (== cpu_info_primary.ci_pending,
since this is only used in the UP case).
2003-03-01 16:35:07 +00:00
fvdl d2315fd2b7 Remove accidentally enabled debug printf.
From Enami.
2003-03-01 13:05:37 +00:00
pk 1b5340d327 Add support for large kernels by searching for a physical memory segment
to fit it in. As a bonus, the kernel is now also mapped to the virtual
address (i.e. KERNBASE) it is linked at.
2003-03-01 13:01:55 +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
matt a391bf2e06 Make this play with gcc 3.3. Add -ffreestanding. Cleanup bootxx. 2003-02-28 05:24:56 +00:00
scw 2125ffc454 Move the -D__daddr_t from libsa/Makefile to Makefile.booters so
the bootloaders get to benefit from it, not just libsa.
2003-02-27 20:38:34 +00:00
perseant eab869e1c0 Make BRIDGE_IPF an option, and document it. Add it (commented) to GENERIC.
Let brconfig tell whether the bridge is using the ipfilter hook, or not.
2003-02-27 19:22:36 +00:00
bsh e6ef3bc041 Some interrupt controllers can select polarity of interrupt signals.
add IST_LEVEL_{LOW,HIGH} and IST_EDGE_{FALLING,RISING,BOTH} for them.
2003-02-27 14:55:41 +00:00
pk 33bdc2efe0 Free page table pages to the same VM map they were allocated from. 2003-02-27 14:19:41 +00:00
hannken c03626b07b Change "i386_trunc_page" to "x86_trunc_page". 2003-02-27 12:22:52 +00:00
fvdl f8b0474185 Reinstate some const qualifiers I accidentally removed when moving this
file.
2003-02-27 11:22:46 +00:00
matt 229495b6d3 Need to forward declare struct buf and struct pte for function prototypes. 2003-02-27 07:14:19 +00:00
igy d67ca5b2e7 locator should use physical addresses 2003-02-27 04:06:07 +00:00
fvdl dd22310ae1 Add consinit.c 2003-02-27 01:50:40 +00:00
fvdl ba3f3ceb24 Catch up with consinit.c move. 2003-02-27 01:49:29 +00:00
fvdl b5a7ec69dd Moved here from arch/i386/i386. 2003-02-27 01:49:05 +00:00
fvdl 10648a4e04 Moved to x86/x86 2003-02-27 01:48:44 +00:00
fvdl d89d6b98f7 Catch up with isa_machdep.c and pci_machdep.c move. 2003-02-27 00:39:40 +00:00
fvdl e397aa2f84 Moved here from i386/pci. 2003-02-27 00:30:31 +00:00
fvdl b7b9aa9909 Moved to x86/pci. 2003-02-27 00:30:21 +00:00
fvdl 8556a55a8d Moved here from i386/isa 2003-02-27 00:28:08 +00:00
fvdl 2c7dd6813f Moved to x86/isa. 2003-02-27 00:27:54 +00:00
fvdl c0ed70b13c Adapt for move to x86/include. 2003-02-27 00:12:21 +00:00
fvdl 20e439b5cb Move a few more files to x86/include. Trim the list of files to install
in /usr/include a bit.
2003-02-27 00:10:56 +00:00
fvdl 2b14e212b1 Install header files. 2003-02-26 22:27:00 +00:00
fvdl ab4edb55ec Adapt for i386/x86 change. 2003-02-26 22:21:19 +00:00
ragge 21d5b938d7 Enable USE_TOPDOWN_VM. This also makes it possible to use large address
spaces, so bump MAXDSIZ to 1GB.
2003-02-26 21:54:35 +00:00
fvdl f720949c2c Adapt for move of files to arch/x86. 2003-02-26 21:33:36 +00:00
fvdl 34cdc350a6 The mementry struct is packed by default now, remove lo/hi usage. 2003-02-26 21:32:20 +00:00
fvdl c0f1fc2c3e Add various include files for MP; mostly redirects to x86/foo.h 2003-02-26 21:31:12 +00:00
fvdl 1fe3d0e71c Redirect a few includes to x86/foo.h 2003-02-26 21:29:34 +00:00
fvdl a33bcafdf1 Redirect some includes to x86/foo.h 2003-02-26 21:28:59 +00:00
fvdl cffd488563 Adapt for move of files to arch/x86. 2003-02-26 21:28:20 +00:00
fvdl 8375b2d985 Move some files out of i386 into x86, so that they can be shared with
other ports.
2003-02-26 21:26:09 +00:00
jklos b9f3bdb8fb Added L3CR_CONFIG to the parameter list for 745x L3 cache configuration. 2003-02-26 21:14:32 +00:00
jklos 0c5117e1f9 Added configuration entries for L3CR_CONFIG for L3 caches on 745x
accelerators. Thanks to Monroe Williams.
2003-02-26 21:10:51 +00:00
jklos 7109206620 Added L3CR_CONFIG for support of 745x G4 L3 cache configuration. 2003-02-26 21:05:23 +00:00
pk 4eb3db09d9 Move all `ID prom' stuff into the prom library. 2003-02-26 17:39:05 +00:00
pk fb425a12ca Re-define `struct memarr' to have the same layout as the V2 ROM memory
property to avoid gratuitous copying in prom_makememarr().

Have prom_makememarr() accept a NULL pointer, in which case it will return
the size of the array needed to store the memory descriptors.
2003-02-26 14:25:20 +00:00
pk f5831d3d87 Store the physical memory descriptors on top of the kernel instead of
allocating a fixed sized array.
2003-02-26 14:18:24 +00:00
matt 04ef5573bf Make common macros like every other port. Now newfs_lfs builds again. 2003-02-26 06:21:09 +00:00
matt 869bbf806d Add some RAS support. Don't print out a message when we encounter
trap instructions.
2003-02-25 23:32:03 +00:00
matt 23ea635a14 This file has a _KERNEL dependency on <machine/cpu.h>. So include it.
[GENERIC.MP builds again.]
2003-02-25 23:29:53 +00:00
thorpej 3ea6b8be93 Add missing splbio() protecting of bufpool access. Add a clarifying
comment to <sys/buf.h> reminding everyone of the need for splbio().
2003-02-25 21:25:40 +00:00
thorpej eb14e86676 Add a new BUF_INIT() macro which initializes b_dep and b_interlock, and
use it.  This fixes a few places where either b_dep or b_interlock were
not properly initialized.
2003-02-25 20:35:31 +00:00
dsl 9474297c7f Clear 'big' bit of segment registers before returning to real mode. 2003-02-25 11:17:36 +00:00
pk b69aef5f3e * Use fdloadfile() to avoid opening the the underlying device twice.
* Cleanup old stuff.
2003-02-25 08:09:30 +00:00
pk dd87308a05 Note which network boot protocol we're trying. 2003-02-25 08:06:29 +00:00
fvdl e3a92065e8 Fix another off-by-one, this time in the current KVA limited as maintained
by pmap_growkernel.
2003-02-25 00:48:00 +00:00
dsl 4552b31f45 Clear 'big' bit of descriptors (%ss in particular) before switching to
16bit mode.  Otherwise the 32bit %esp and (probably) %ebp are used for
stack accesses.  (stupid cpu design!)
(approved by christos)
2003-02-24 23:23:14 +00:00
pk a8bd073e6f pv_unlink4m(): don't forget to link in a new PV entry after alias checking. 2003-02-24 15:14:51 +00:00
matt 4f493fc42d Zero bss in start, not in initppc. 2003-02-24 08:06:42 +00:00
matt 8609ed56b8 Only define KERN_AS= object if IDENT has -DLKM. 2003-02-24 07:15:40 +00:00
atatat 83642bd3a6 Cast VM_DEFAULT_ADDRESS() to a caddr_t. 2003-02-24 00:49:43 +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
simonb a5781fdcdf Add LFS support for i386. Tested with a "newfs_lfs -A -O 256" root
filesystem.
2003-02-23 23:25:50 +00:00
simonb 3a93f29238 Update for LFSv2 support. Ports that have "bootxx_lfs"-style
bootblocks currently only support LFSv2, but the second level
"boot" program supports both LFS versions.
2003-02-23 23:23:07 +00:00
nathanw 681f702ca1 In pmap_physpage_alloc() and pmap_physpage_free(): only the DIAGNOSTIC
check is inside the simple_lock()/simple_unlock() pair, so move the locks
inside the #ifdef as well.

Additionally, change the #ifdef from DIAGNOSTIC to DEBUG; the condition
is too weird to be worth checking at DIAGNOSTIC, according ot Jason.
2003-02-23 22:41:24 +00:00
he eca5e4743f Bump ramdisk image size from 1444k to 1500k. 2003-02-23 22:30:46 +00:00
atatat 860ed88533 #include opt_uvm.h in machine/vmparam.h (for those ports offering the
topdown option) so that including it directly before including
uvm/uvm_param.h (or uvm/uvm_extern.h which includes uvm/uvm_param.h)
and attempting to use topdown won't result in a compiler error.

Problem noted in private email.
2003-02-23 19:13:43 +00:00
he b699c38934 Cast the result of VM_DEFAULT_ADDRESS to caddr_t, to make this compile again. 2003-02-23 19:08:18 +00:00
manu b09955adaf Merged mac68k and macppc keayboards, since they are the same. The file
could move to <arch/mac> if one day we create it.

Fixed french keymap: option was not mapped correctly, thus making
impossible to use |{}[] (tested).
Added jp keymap from PR/15438, and sf, sv, de and uk keymaps from OpenBSD.
(all untested).
2003-02-23 18:09:25 +00:00
simonb 013ba73637 Fix a tyop in a comment. 2003-02-23 03:37:40 +00:00
fvdl 11e36a204f For x86_64, split the bootinfo memory entry words to avoid growth of the
structure due to alignment.
2003-02-23 02:45:44 +00:00
fvdl 0ee308ef7e Fix up pmap_growkernel a bit to avoid off-by-one errors. 2003-02-23 02:44:44 +00:00
fvdl 49a9f4f666 Use BIOS memory info properly. Don't try to allocate areas > 4G out of
the IO extent, since it only spans 32 bits.
2003-02-23 02:43:25 +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
manu 4b074775af Added a french keyboard layout. 2003-02-22 08:33:56 +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
pk 007c1ca9cf Remove the assumption in the sun4/sun4c bootstrap code that the kernel
is always mapped using PMEGs and SMEGs starting at #0.
2003-02-21 19:07:36 +00:00
pk b7f550c62d Allow the kernel to be loaded at its link address (aka KERNBASE) by the
boot program.
2003-02-21 19:04:07 +00:00
matt b03aef6efc witch from xor r,r,r to li r,0 to set a register to 0. It's clearer (and
better for G4 processors).
2003-02-21 15:14:08 +00:00
martin 008754f2e6 Increase symbol table space - it did not fit anymore. 2003-02-21 08:55:37 +00:00
matt c1234c6385 Add TOPDOWN VM support. 2003-02-21 03:41:52 +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
atatat df0a9badc6 Introduce "top down" memory management for mmap()ed allocations. This
means that the dynamic linker gets mapped in at the top of available
user virtual memory (typically just below the stack), shared libraries
get mapped downwards from that point, and calls to mmap() that don't
specify a preferred address will get mapped in below those.

This means that the heap and the mmap()ed allocations will grow
towards each other, allowing one or the other to grow larger than
before.  Previously, the heap was limited to MAXDSIZ by the placement
of the dynamic linker (and the process's rlimits) and the space
available to mmap was hobbled by this reservation.

This is currently only enabled via an *option* for the i386 platform
(though other platforms are expected to follow).  Add "options
USE_TOPDOWN_VM" to your kernel config file, rerun config, and rebuild
your kernel to take advantage of this.

Note that the pmap_prefer() interface has not yet been modified to
play nicely with this, so those platforms require a bit more work
(most notably the sparc) before they can use this new memory
arrangement.

This change also introduces a VM_DEFAULT_ADDRESS() macro that picks
the appropriate default address based on the size of the allocation or
the size of the process's text segment accordingly.  Several drivers
and the SYSV SHM address assignment were changed to use this instead
of each one picking their own "default".
2003-02-20 22:16:05 +00:00
pk b8081a591a Change locking prerequisites for the pv_changepte4m() helper function
to avoid locking recursion.
2003-02-20 16:22:49 +00:00
seb 3cd76da95a Add vlan(4) pseudo device. Approved by martin@ 2003-02-20 13:30:44 +00:00
martin c3ed92df3e Add a few new devices. 2003-02-20 12:02:31 +00:00
matt b42cde14b7 Set KERN_AS=obj now that LKMs work. (otherwise when you loaded LKMs they
wouldn't have all the library routines available).
2003-02-19 23:55:48 +00:00
pk b66bce23df Finish PV table locking. Terminology and locking strategy stolen from
the alpha port.
2003-02-19 22:27:08 +00:00
simonb b7f4f30f48 Revert previous (in line with <i386/mtrr.h> reversion). 2003-02-19 05:38:58 +00:00
gson d3fce65758 Reserve the I/O ports used by the CRT controller to keep them from
being allocated for other purposes such as PCMCIA I/O space.  Fixes
port-i386/5177.
2003-02-19 04:07:56 +00:00
fvdl feaeb437d4 Make COMPAT_NETBSD32 compile and work again (though not with SAs). 2003-02-19 00:37:33 +00:00
fvdl 807c14b1f2 Undo constification of mtrr_funcs. I'll deal with it later. 2003-02-19 00:18:34 +00:00
fvdl f2ef2f16fa Revert previous. This file is also used on x86_64, you see. 2003-02-19 00:15:19 +00:00
pk d286e74769 pgt_page_alloc: use uvm_km_kmemalloc() so we can honor the PR_NOWAIT flag
pmap_kenter_pa4m: lock the pmap we're working on.
2003-02-18 22:05:08 +00:00
jdolecek d2309c1fda add file-system SMBFS and pseudo-device nsmb, uncommented, marked as
experimental
2003-02-18 20:13:03 +00:00
pk 2b390d41d0 Move makememarr() into promlib.c. 2003-02-18 13:36:51 +00:00
jdolecek 51762449f8 add nsmb device-major 2003-02-18 12:26:50 +00:00
grant 60a45bbcd7 add missing networking options, commented.
ok'd by ross.
2003-02-18 05:50:51 +00:00
david 9a38c06746 sync with GENERIC
add: options SYSTRACE
2003-02-17 22:44:37 +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
simonb 7a3efea0bf Make whitespace in multi-way loops line up a bit nicer. 2003-02-17 12:32:13 +00:00
simonb 8883b06039 No need to protect headers with #ifdef _KERNEL if they're never installed
in /usr/include.
2003-02-17 11:35:01 +00:00
soren e9d72b5b52 Make ALLOC_TRACE work again. 2003-02-17 08:21:39 +00:00
augustss 8f123087a2 Undo accidental commit of this file. 2003-02-16 17:42:13 +00:00
augustss 519f8f3d30 Add uax(4) (and url(4) in some cases). 2003-02-16 17:35:13 +00:00
pk c502753d44 Fix pasto in previous. 2003-02-15 13:30:11 +00:00
pk 84e3fcabb3 Redo part of rev. 1.237; the pages at KERNBASE might not be mapped when the
kernel has just been loaded.
2003-02-15 13:17:41 +00:00
briggs 0ba0225830 Initialize the framebuffer BAT with BAT_G, too. This marks the region
as (G)uarded, protecting it from the processor being too aggressive in
reordering and prefetching.  This allows OFB_ENABLE_CACHE to work on my
Powerbook G4.

Thanks to matt@ for suggesting this fix.  "It's the right thing to do."
2003-02-15 05:07:57 +00:00
itohy b1f5bd8e4f constify command buffer 2003-02-15 02:36:52 +00:00
tsutsui 9dc8f99b73 Add prototypes for ZS_TXDMA functions.
XXX Maybe we should have DMA hooks in MI z8530tty.
2003-02-15 02:28:22 +00:00
pk baa98646a0 It's not necessary to complicate the computation of `va2pa_offset': we already
assume that the few leading pages in front of the kernel image are
always present.

Adjust `va2pa_offset' on sun4 and sun4c as well, so that some day we can
have the bootstrap program load the kernel some place else.
2003-02-14 22:24:58 +00:00
rjs ce385ae9b3 Add CPU IDs for PXA B2 and C0 steppings. 2003-02-14 16:00:33 +00:00
dsl 673612c6a0 Use correct segment register in getmementry 2003-02-14 14:39:24 +00:00
jdolecek 1b76f8f55f One more ServerWorks host bridge, seen on Dell PowerEdge server
fix provided in PR port-i386/20333 by Sverre Froyen
2003-02-14 14:26:51 +00:00
gmcgarry 136892b8b8 Handle 64-bit daddr_t. 2003-02-14 06:55:17 +00:00
tshiozak 4e7944a9b0 use IPL_SCHED instead of IPL_HIGH to establish interrupt for ACPI;
Calling wakeup() from a intr handler established with IPL_HIGH may causes
run/sleep queue to confuse because SCHED_LOCK() uses splsched().
2003-02-14 05:38:39 +00:00
matt 5bcfb63de7 Add PSL_PM 2003-02-14 04:45:32 +00:00
itohy 850cd09532 - Change __cpu_simple_lock_t from int to unsigned char.
This makes simple lock work on big-endian platforms.
- Assembly-level optimization of __cpu_simple_lock_try().

OK'd by Gregory McGarry.  Closes PR port-sh3/20311.
2003-02-14 03:02:41 +00:00
perry 3f573e45ce Instead of spinning, __asm __volatile("hlt"). 2003-02-14 01:11:21 +00:00
ross ff410ba8d2 If no keyboard is attached, implement RB_HALT with a spin. kern/10481 2003-02-13 21:34:03 +00:00
matt 8268fcff94 Use register 8, not 0, when construct OF_buffer address. 2003-02-13 15:02:49 +00:00