Commit Graph

38651 Commits

Author SHA1 Message Date
simonb
24798155ac Enable top-down VM if USE_TOPDOWN_VM is defined. 2004-04-26 22:25:54 +00:00
uwe
e9b7546ec1 <machine/cdefs.h> is included by <sys/cdefs.h>, so there's no point
in including <sys/cdefs.h> from <machine/cdefs.h> again.
2004-04-26 22:14:55 +00:00
cl
f720882cf0 Rework the physical<->machine memory mapping: offset physical addresses
by 0x100000 (above the I/O Memory "hole") leaving all physical addresses
below unused, don't perform phys<->mach mapping for addresses below 0x100000
or beyond the real hardware's physical memory.

-> /dev/mem works now as expected and X works in domain0.
2004-04-26 22:05:04 +00:00
cl
f184e73cf0 Add mouse support. 2004-04-26 19:44:54 +00:00
cl
b21e228a58 Add support for i386_iopl. 2004-04-25 23:46:07 +00:00
fair
68851c238e protect against multiple includes because the make procedures for
kdump, ktruss, etc., aren't smart enough to spot this as a duplicate
from both include/{alpha,machine}/vuid_event.h
2004-04-25 23:17:59 +00:00
fair
75bfa594cb Protect against multiple inclusion (kdump, ktruss, etc., make
procedures are not smart enough to spot this file as being the same
when it appears in both include/{macppc,machine}/grfioctl.h
2004-04-25 21:57:51 +00:00
cl
63ccbaf08a Move some of the context switching code into a C function. 2004-04-25 19:01:27 +00:00
cl
b336bf8532 Add memory barriers. 2004-04-25 18:30:55 +00:00
cl
1408a99dbe Select first disk device as boot device if no boot device is selected
from the command line.
2004-04-25 14:40:02 +00:00
rjs
0ce713d5b6 Add the TI microExplorer card. 2004-04-25 14:22:32 +00:00
tron
fdab6cb011 Make this compile without ACPI_DEBUG again. 2004-04-25 11:25:35 +00:00
christos
db3f39e1e1 make this compile with ACPI_DEBUG again. 2004-04-25 07:55:06 +00:00
matt
22120ad628 Constify the speedtab arrays 2004-04-25 06:23:40 +00:00
cl
a9154d4a78 Don't attach vga and keyboard if the domain is not privileged.
Also cleanup print command if attachment fails.
2004-04-25 00:24:08 +00:00
rjs
06b3d71b2a Use new isa_attach_args structures. 2004-04-24 23:32:08 +00:00
cl
8d5b657eb1 Add sysctl nodes for Xen disk cookies used by domain creation tools. 2004-04-24 21:55:37 +00:00
cl
f53151522e Enable keyboard and vga display as console when running as domain-0. 2004-04-24 21:45:58 +00:00
cl
5c7586f0e5 Add keyboard support and wscons config options. 2004-04-24 21:33:32 +00:00
cl
428e3dcc56 remove trailing empty lines 2004-04-24 21:01:37 +00:00
cl
44e8720ec9 Add vga display support. 2004-04-24 20:58:59 +00:00
cl
8e6ccbacfb Allow the block device driver to impersonate wd/sd/cd devices. This allows
for most system seamless migration from a NetBSD/i386 setup to a NetBSD/xen
setup without changing /etc/fstab or creating additional device nodes.
2004-04-24 20:05:49 +00:00
cl
122ad5af2a Make bus_space map machine addresses instead of physical addresses. 2004-04-24 19:43:53 +00:00
cl
6d328d297e Let event_set_handler set the void * argument to event handlers. 2004-04-24 19:32:37 +00:00
cl
fb658556ac Make bus_space map machine addresses instead of physical addresses. 2004-04-24 19:18:01 +00:00
cl
4c5f9e53a1 Make kernel command line parsing support additional keywords without
having to change existing code which calls the parser.
2004-04-24 18:55:02 +00:00
cl
fb65e916fb Consistently use xencons for eveything reffering to Xen's virtual console.
rename arch/xen/xen/console.c -> arch/xen/xen/xencons.c
2004-04-24 18:24:14 +00:00
cl
d843f649c6 Add ``hypervisor at mainbus'' and attach all devices provided by the
hypervisor to it instead of mainbus.
2004-04-24 17:45:38 +00:00
cl
ef3c59b551 add __KERNEL_RCSID 2004-04-24 17:41:49 +00:00
cl
edf6d721c7 Add ``hypervisor at mainbus'' and attach all devices provided by the
hypervisor to it instead of mainbus.

rename arch/xen/i386/hypervisor.c -> arch/xen/i386/hypervisor_machdep.c
2004-04-24 17:35:27 +00:00
cl
2b115ed1d8 Catch up with recent src/sys/dev/dksubr.c change (1.11 -> 1.12) which
prevents us from processing multiple bufs during 1 *start call.  We now
rely on dk_start calling us repeatedly as long as there are bufs on the
queue.
2004-04-24 16:47:29 +00:00
kleink
0e5d242328 Update for new pci_devinfo(9) signature. 2004-04-24 15:49:00 +00:00
uwe
33c262357e Adapt to pci_devinfo signature change. 2004-04-24 15:09:54 +00:00
minoura
d75fa2749f Move misplaced debug code.
This should make it compile w/o pcppi and w/ CLOCKDEBUG.
2004-04-24 13:38:36 +00:00
atatat
d731ba57d2 The second "console_device" node should really be called "booted_device". 2004-04-24 04:56:59 +00:00
itojun
6123043789 pass string length (= boundary info) to pci_devinfo so that we do not run over
the end of memory region
2004-04-23 21:13:05 +00:00
tsutsui
77addc8b55 Increase buffer size for s[dt]-targets PROM property
otherwise some machines (including my SS1+) with old PROM fails to get it.
2004-04-23 13:04:59 +00:00
hannken
82161a9cbe Protect against multiple inclusion. 2004-04-23 09:20:20 +00:00
dsl
5d3e088ee0 Put the 'mbr has bootselect table' marker into all versions of the mbr code.
Having the table in the 'standard' mbr allows fdisk to write in bootsel
menu items and only ask about updating the mbr code before exit.
Sysinst validates that the mbr code contains the bootselect table for
all the mbr code variants it reads - because it might want to write the table
and doesn't really want to make the validation dependant on what it is
going to do later.
Fixes install/25235, but sysinst needs some changes (like reporting the
failure to write the mbr) before the pr itself is closed.
2004-04-23 06:21:21 +00:00
simonb
9bc855a931 s/the the/the/ (only in sources that aren't regularly imported from
elsewhere).
2004-04-23 02:58:27 +00:00
thorpej
f84850f7df Assign to CPUFLAGS to add -march=armv4 instead of adding to COPTS. 2004-04-22 22:41:42 +00:00
skd
3d1c65c141 1) Skip over bogus device nodes, prevents a panic in pci_make_tag.
2) Clarify a printf.
2004-04-22 18:01:47 +00:00
pk
a2ce1a6818 ctx_free: reset the context's page table pointers in each context table. 2004-04-22 11:57:33 +00:00
pk
c996a0d95b Fix logic botch in previous commit. 2004-04-22 11:45:48 +00:00
pk
4c005fd35b Mostly undo rev. 1.287: for modified pages a table walk must be forced on
the next write access to get the modified bit set in the PTE and that
won't happen if it hits the cache.
2004-04-22 10:14:58 +00:00
itojun
8bcb745d7c sprintf -> snprintf 2004-04-22 00:31:00 +00:00
matt
4f9c0f6775 Add ${_MKTARGET_LINK} to the link step 2004-04-21 22:01:44 +00:00
cl
a01e0b0219 parse bootdev parameter for partition and set booted_partition accordingly 2004-04-21 18:06:51 +00:00
cl
ff6c26a333 - setup vfr rules when running as domain-0
- patch ethernet address if running as domain-0 so that arp can work

also include bpfilter.h to get NBPFILTER
2004-04-21 17:36:59 +00:00
cl
3ba9d3ae38 don't crash when changing/adding ip addresses 2004-04-21 12:43:43 +00:00
cl
b5acdb9f14 cleanup debugging printf's 2004-04-21 12:14:45 +00:00
christos
6bd1d6d4db Replace the statfs() family of system calls with statvfs().
Retain binary compatibility.
2004-04-21 01:05:31 +00:00
pk
a22adee52d Default to not inlining __cpu_simple_lock().
- the locore version attempts to detect stuck locks
 - not inlining saves about 60K on the kernel's text
2004-04-20 15:55:30 +00:00
yamt
c13fd66a5d syscall_fancy/plain: add assertions to detect PHOLD leaks. 2004-04-20 12:00:02 +00:00
yamt
88005c19af add '.L' prefixes to local labels. 2004-04-20 11:59:20 +00:00
pk
aa53aca844 Turn __CPU_SIMPLE_LOCK_INLINE into !__CPU_SIMPLE_LOCK_NOINLINE, so we don't
screw up user land.
2004-04-20 08:48:03 +00:00
pk
e2cab98f9e Always provide the __cpu_simple_lock() entry point (for LKMs). 2004-04-20 08:38:41 +00:00
pk
ce78973db2 Provide a fast trap path for AST IPIs. 2004-04-20 08:36:46 +00:00
pk
3097bbf440 pmap_extract4m: We can read a spurious invalid pte if the system is in
the middle of the PTE update protocol. So, if at first we get an invalid
PTE, retry with the demap lock held.
2004-04-19 15:20:42 +00:00
wiz
3f9411f688 Spell removable with only two es. Inspired by jmc@openbsd. 2004-04-19 12:44:09 +00:00
pk
2e643fb9ae __cpu_simple_lock() isn't a pure function. 2004-04-19 12:41:53 +00:00
pk
a484ad4f3f CMP_PTE_USER_READ4M: drop instruction that's effectively a no-op. 2004-04-19 10:01:41 +00:00
pk
fecb3b619b Drop spurious variable. 2004-04-19 08:50:21 +00:00
matt
e3aa635a37 Fix tpyo. 2004-04-18 23:32:46 +00:00
matt
62fc149c0b Make this compile with XNS enabled 2004-04-18 23:32:21 +00:00
matt
0f0d66d66e Add entry for netns/ns_cksum.c 2004-04-18 23:31:45 +00:00
pk
03a07196d9 srmmu_vcache_flush_page/range: cover the case where we're called during
bootstrap before the cache parameters are setup.
2004-04-18 21:49:09 +00:00
pk
27f928584a Code srmmu_vcache_flush_range & srmmu_vcache_flush_page more efficiently. 2004-04-18 20:46:39 +00:00
pk
57bbd955d1 Various ft_srmmu_vcache_*() functions: use `branch on greater (unsigned)'
instead of `branch on positive'.
2004-04-18 20:44:39 +00:00
pk
68f30ee7af Make inlining __cpu_simple_lock() optional. Add a version with a built-in
spin out counter that panics with a diagnostic.
2004-04-18 19:20:09 +00:00
fvdl
07fd2b039b Adapt for new aapic.c location. 2004-04-18 18:36:56 +00:00
fvdl
9ad68fe184 Moved here from arch/amd64/pci 2004-04-18 18:34:22 +00:00
fvdl
9a03155b3f Move these files to x86, so that the i386 port can use them too
(for booting i386 kernels on amd64 machines).
2004-04-18 18:33:33 +00:00
pk
38bdc6fab2 Remove the cache_flush() trampoline; it's no longer directly cross-called.
Instead, implement the MP parts in terms of cross-callable vcache_flush_range()
function.
2004-04-17 23:45:40 +00:00
pk
66a6704d83 Update fast xcall interrupt event counter.
ft_srmmu_vcache_flush_range: adjust length for address alignment
2004-04-17 23:28:44 +00:00
cl
c705011fd6 Loader which allows booting NetBSD as domain0 guest OS. 2004-04-17 23:20:37 +00:00
pk
e68993f7e4 Add EV_COUNT. 2004-04-17 22:36:54 +00:00
pk
3c3af40e65 Add xcall event counters. 2004-04-17 22:34:14 +00:00
cl
17292d12b3 use nanoseconds since boot counter for delay routine 2004-04-17 21:49:55 +00:00
cl
9a39f88e1e add block device driver 2004-04-17 12:56:26 +00:00
cl
e688fd0596 sync with arch/i386/i386/pmap.c:
1.172/yamt
- keep cr3 register and its copy in TSS synchronized.
- defer LDTR loading as well as cr3.
2004-04-17 12:53:27 +00:00
cl
1cfcb16460 - microtime support
- don't report cpu speed in startrtclock()
2004-04-17 12:50:45 +00:00
cl
e22637e9aa report cpu speed correctly 2004-04-17 12:47:38 +00:00
cl
8bde79bdaa - fix event dispatching for event 0
- use struct trapframe instead of struct pt_regs
2004-04-17 12:46:42 +00:00
pk
89f5c8768c When acknowledging a sun4m soft interrupt, read back the pending interrupts
hw register to make sure it gets through on Ross CPUs.
2004-04-17 11:55:06 +00:00
pk
1e5ff8a716 raise_ipi: don't bother fetching the cpu type from memory in order to
avoid one instruction.
2004-04-17 11:50:23 +00:00
pk
727a9ca138 The macro CMP_PTE_USER_READ4M now needs to consider more PTE access
rights combinations, since the access rights table in pmap has changed.
2004-04-17 11:26:36 +00:00
pk
66178209d2 Use fast cross calls for MP cache flush ops. 2004-04-17 10:13:13 +00:00
pk
f714ca590d Add CPUINFO_XMSG_* symbols for use in fast xcall handlers. 2004-04-17 10:07:58 +00:00
pk
ebfb6e3b0a Implement fast trap handlers for TLB and cache flushes. 2004-04-17 10:06:29 +00:00
pk
901271fbc8 Use a fast cross call for TLB flushes. 2004-04-17 10:04:20 +00:00
pk
4eac0385f6 xcallintr: arg3 is gone. 2004-04-17 10:01:55 +00:00
pk
8bc2760490 Add support for fast cross call handlers that execute in the trap window
on the destination CPU. The `fast handler' address takes the place of the
unused fourth argument to xcall().
2004-04-17 10:01:11 +00:00
matt
8cd24529dc Add a SAVE/DISCARD flag to save_{fpu,vec}_lwp. Use it appropriately.
Nuke struct fpu and use struct fpreg instead (except for the names, they
were identical).  On MP machines, this will avoid an unneeded IPI to save
the register contents that are about to discarded.
2004-04-16 23:58:08 +00:00
fvdl
7a44f0ad1f Make tracing work better (through interrupts, etc). Essentially a synch
with i386.
2004-04-16 14:21:56 +00:00
hannken
3dc578de5e Make it compile when PPC_HAVE_FPU is not defined. 2004-04-16 08:52:41 +00:00
matt
ee00feaab9 Revamp how user MSR/SRR1 are dealt with.
Add a PSL_USEROK_P(psl) macro which valids the bits (replaces the use of
PSL_USERSTATIC).
Add a PSL_USERSRR1 mask which is used to mask out status bits in the upper
half of SRR1.
Make sure PSL_VEC is set appropriately in userret().  PSL_VEC is in the same
region as SSR1 status bits so it's not preserved on exceptions.  Thus we
need to make to set it.
When returning a MSR/SRR1 to userland, always clear the status bits.
Add emulation of the mfpvr, mtmsr, and mfmsr instructions.
2004-04-15 21:07:06 +00:00
he
a1182cdd25 We need to also clean out athhal-elf-o, so that "make clean; make"
after an initial "make" will also (re)build athhal-elf.o.
2004-04-15 15:02:17 +00:00
tv
7d5e6e5d58 Move -mips2 to CPUFLAGS in each kernel config file as suggested by mrg.
This matches the way other ports specify default CPU codegen options.
2004-04-15 14:58:30 +00:00
mrg
47a36b2bdc when we have a P4 or a MP system, don't enable performance monitoring.
this fixes PR#25014.  i386 GENERIC can re-enable PERFCTRS by default now
(it was disabled with x86 SMP support was commited to the trunk.)

XXX:  should add P4 support
XXX:  should add MP support
2004-04-15 13:56:32 +00:00
aymeric
8f2774036c . add a missing call to lockinit() in apmattach()
. while here, explicitly initialize three softc variables to 0
2004-04-15 11:03:15 +00:00
pk
299dfa38bf De-__P(). 2004-04-15 10:07:32 +00:00
pk
dab35b2e8d xcall: increase spin-out; fix diag output. 2004-04-15 08:11:20 +00:00
pooka
88d0b8e68e Return "video()" instead of "graphics(0)" for a graphics console,
since that's what even our code expects.

suggested by Steve Rumble
2004-04-14 10:29:26 +00:00
bsh
018ab5b974 distinguish PXA255/26x from PXA2[15]0 in CPU attach message 2004-04-14 04:01:49 +00:00
bsh
4f5b0f1294 add CPU ID for Bulverde 2004-04-13 19:14:34 +00:00
pk
cd891bd771 Re-enable the HyperSPARC on-board instruction cache on multi-processor machines. 2004-04-13 14:55:48 +00:00
pk
86fce030ee Handle `unimplemented flush' traps by flushing the entire I-cache (if
there is one).
2004-04-13 14:04:29 +00:00
pk
e76253f84e Turn FLUSH instructions that wind up here into no-ops. 2004-04-13 14:00:24 +00:00
sekiya
7af65e354b Back out portions of previous commit -- the mips/bus_dma.c code is less
correct than the sgimips-specific code.
2004-04-13 08:12:03 +00:00
sekiya
8af58b1851 Merge fixes from arch/mips/mips/bus_dma.c -- a curproc->lwp fix, and streamline
the cache magic for BUS_DMASYNC_PREREAD in _bus_dmamap_sync_mips3().

(Note to self: investigate feasibility of replacing MD bus.c with MI bus_dma.c)
2004-04-12 14:30:47 +00:00
pk
ebfcdb612b Drop the special sun4d `tlb flush' lock. The pte update function already
serialises access to the PTEs to reliably get ref/mod bits.

Rename pte4m_lock => demap_lock.
2004-04-12 14:26:01 +00:00
yamt
faedfe8895 - keep cr3 register and its copy in TSS synchronized.
otherwise an interrupt vector using a task gate (ie. ddbipi) messes it up.
- defer LDTR loading as well as cr3.
- tweak comments to make three copies of switching code more synchronized.
2004-04-12 13:17:46 +00:00
pk
4f969ab39c pv_syncflags4m: no need to flush the cache. If the page is still mapped,
its ref/mod status may change at any moment anyway. If a definitive status
is required the UVM code will unmap the page first.
2004-04-12 12:52:42 +00:00
pk
fd1ba25dd1 Drop sparc_protection_init4m() in favour of a (ro) data initialiser. 2004-04-12 10:00:28 +00:00
pooka
0d197bf832 KNF some and make printf output a bit nicer. 2004-04-11 12:17:10 +00:00
pooka
34bd15648e Add IP12 stuff. Most bits included are from Steve Rumble.
After this change it is possible to run IP12.
2004-04-11 12:13:20 +00:00
pooka
0e36d54eba Fix base address for i8254 calibration code. This has the effect of
us writing to the correct addresses and the thing actually working.
2004-04-11 12:05:37 +00:00
pooka
95d984a2eb Don't report page 0 as free memory, it makes bad things happen. 2004-04-11 11:34:13 +00:00
kochi
193c08b383 Clean up memory allocated during autoconfiguration 2004-04-11 10:36:35 +00:00
pooka
817b0a57d8 Make das blinkenlights, well, blink on IP12 also. 2004-04-11 10:29:20 +00:00
kochi
b547a6d28f change acpi_resource_parse API to support _PRS parsing as well as _CRS 2004-04-11 08:36:19 +00:00
kochi
e80850866a de __P, ANSIfy PCIBIOS related files. 2004-04-11 06:00:25 +00:00
pooka
451031bddf RCS Id police 2004-04-11 00:44:47 +00:00
cl
9f3568420d call HYPERVISOR_exit on reboot 2004-04-11 00:44:15 +00:00
cl
d145eca4fb catch up with arch/x86/x86/intr.c
1.15/kochi
use designated initializer for struct pic initializers.
just for readability.

update the xenev_pic initializer as well
2004-04-11 00:18:29 +00:00
cl
2bdade5a16 - remove pmap_kenter_ma prototype here
- xennet? is an interface not a driver (boot message)
2004-04-11 00:00:43 +00:00
cl
1eec38f848 get the time from Xen 2004-04-10 23:50:23 +00:00
cl
9ce2a8f441 add prototype for pmap_kenter_ma 2004-04-10 23:47:24 +00:00
cl
96cf6c6c11 - fix signatures for HYPERVISOR_stop, HYPERVISOR_dom0_op and
HYPERVISOR_block_io_op
- add error checking for HYPERVISOR_mmu_update and
  HYPERVISOR_update_va_mapping
- add missing memory barriers
- initialize dom0_op->interface_version
2004-04-10 23:46:26 +00:00
cl
c0b5dece66 Make rcr2() always return 0. We only get cr2's value for page faults and
trap() knows where to find it.
2004-04-10 23:39:54 +00:00
cl
7556fed6d2 fix kernel command line parsing:
- initialize bootdev for if it's not set in the command line
- correctly parse command lines with multiple spaces between words
2004-04-10 23:33:50 +00:00
cl
0488cca3a2 remove incorrect assert: pdp-pool entries can be reclaimed at any time,
even while APDP is mapped.
2004-04-10 23:31:41 +00:00
pooka
4b60b79ce8 build arcemu 2004-04-10 22:48:44 +00:00
pooka
bc32b3ffbe Clock interrupt routine for mips1 (ip12) from Steve Rumble. 2004-04-10 22:48:12 +00:00
pooka
03e520f443 * The HPC endianness register isn't mapped on my IP12, so don't try to
unconditionally read it
* IP12 glue from Steve Rumble
2004-04-10 21:59:42 +00:00
pooka
0df6470670 don't attempt to init pckbd console on IP20 2004-04-10 21:47:33 +00:00
pk
9450998e71 pmap_copy_page4m(): we only need to flush the local cache since we use
private virtual addresses.
2004-04-10 20:51:24 +00:00
pk
9d95da7f96 Remove a number of redundant TLB page flushed, which are now done in
setpgt4m_va() and updatepte4m() as necessary.
2004-04-10 20:43:02 +00:00
pooka
3f96344b80 Don't unconditionally initialize seeprom chip type after we've
conditionally initialized it to the correct type.

spotted by Steve Rumble
2004-04-10 20:23:05 +00:00
pooka
9b2f4efe28 Rework conditional statement a bit to print bit about using ARCS for
console I/O if nothing really attached, not if we just called consinit()
with an invalid IPxy mach_type.

inpired by Steve Rumble
2004-04-10 20:15:12 +00:00
pooka
737a72e779 attach zs console on IP12
from Steve Rumble
2004-04-10 20:03:11 +00:00
pk
6452e19758 De-__P(). 2004-04-10 20:00:29 +00:00
pk
217297d742 Remove a remnant instance of __P(). 2004-04-10 19:58:45 +00:00
pk
6d82d89741 Expose CPUSET_ALL to non-MULTIPROCESSOR source. 2004-04-10 19:55:57 +00:00
pooka
cafa4ad8f9 ARCBIOS emulation code to be used on machines without ARCBIOS
Currently supports only IP12, but can be made to support others.

includes effort from Steve Rumble and myself
2004-04-10 19:53:48 +00:00
pk
667d14673b Group updatepte4m() and the MP & SP versions of setpgt4m_va() together,
which is just a bit more pleasing to the eyes.
2004-04-10 19:40:19 +00:00
pk
83037215bf Do not maintain the number of valid pages per segment (`sg_npte') anymore
for the kernel map on SRMMU machines. This allows pmap_kenter() and
pmap_kremove() to update mappings without needing to lock the pmap
or raising the interrupt level.
2004-04-10 19:22:59 +00:00
pooka
a7250523da At least my IP12 works better without the port-flipping glue,
so un-glueify IP12 for the time being.
2004-04-10 19:20:19 +00:00
pooka
a674ac1bc3 and finally, the big moment you've all been waiting for:
make it actually compile
2004-04-10 19:07:58 +00:00