Age | Commit message (Collapse) | Author |
|
to do data copies, however it will not correctly identify that a load/store
double will not correctly copy data where the address is misaligned.
This emulates the load/store double operations in the kernel.
Fixes gtk+ runtime problems.
From NetBSD.
|
|
bus_addr_t vs vaddr_t/paddr_t
Return correct value for poalloc();
|
|
|
|
|
|
- Change pmap_change_wiring to pmap_unwire because it's only called that way.
- Remove pmap_pageable because it's seldom implemented and when it is, it's
either almost useless or incorrect. The same information is already passed
to the pmap anyway by pmap_enter and pmap_unwire.
|
|
CLSIZE -> 1
CLBYTES -> PAGE_SIZE
OLOFSET -> PAGE_MASK
etc.
At the same time some archs needed some cleaning in vmparam.h so that
goes in at the same time.
|
|
|
|
access size parameter. Also add field to hold bus size for later usage.
|
|
Cleans up symbols in object files.
|
|
|
|
other platforms, the list is a pointer, thus va_copy should allocate data
(using alloca) for that pointer before copying the contents of the data.
This allows several gnu programs to build and run correctly which insist
on multiply parsing the vararg/stdarg data passed to a function.
|
|
the task. The kernel now support a BSD disklabel located inside
a HFS(DPME) partition of type "OpenBSD". It will use this disklabel
for OpenBSD. If no OpenBSD DPME partition exists it will fake HFS
partitions for apple HFS partitions of the disk.
The tool to change the DPME partition type to OpenBSD and booting
support in ofwboot are not yet ready.
|
|
|
|
before it was looking through two arrays of 8 and a linked list of
undetermined size, before deciding that a mapping was not valid.
Now it allocates a data structure and caches that data.
This improves both pmap_enter and pmap_remove because both check
to see if a mapping is valid before taking the appropriate actions.
Also in pmap_remove, if the va mapping is found, stop searching for
it in the rest of this array, the alternate array and the linked list.
only one valid mapping of each va is allowed.
This change improved lat_mmap (from lmbench) from 1300 to 720
and fork+exit from 7320 to 2724 microseconds.
|
|
as needed for some drivers, primarily drivers from NetBSD, where these
defines came from.
|
|
so provide both.
|
|
also change type of a variable from (void) * to (char *) since it is
incremented as if a (char *).
|
|
|
|
|
|
|
|
|
|
bus interface was not previously implemented. This functionality is
required for the latest USB changes.
The bus_space_barrier does not perform any operation with this change,
it expects that the device mappings will be performed with the Guard
bit set which then should not require this forced sync.
|
|
|
|
|
|
(Fixed by replacing the code with the version from the i386 port.)
|
|
UQUAD_MAX, QUAD_MAX, and QUAD_MIN respectively.
|
|
|
|
in the config cycle, and pci devices as well as mac onboard devices
do not use interrupts to probe. It is possible to record that the
interrupt is to be configured, but not configure it with the interrupt
controller until the interrupt controller configures itself.
This is lazy binding of interrupts. If there is a conflicting interrupt
or other problem it will be noticed when the interrupt controller configures
and collects the data rather than when the device configures.
Currently on the openpic interrupt controller supports these pre-configured
interrupts.
|
|
due to busdma issues on powerpc.
|
|
Add spllowersoftclock() for the former behaviour. Update comment. (art@ ok)
|
|
|
|
to count clock interrupts.
|
|
|
|
|
|
off_t to be visible in stdio.h even in strict ansi mode. This is needed
for ftello()/fseeko() and it allows us to remove the horrible fpos_t hack.
|
|
Full dma code not yet integrated.
|
|
somewhat skeletal.
|
|
it has a copyin bug after device configuration. However to get these diffs
out of my tree.
All of the UVM code is currently inside ifdef UVM the kernel works fine
without option UVM. Config files have been left without UVM for now.
Prelimiary changes for busdma, (what UVM was wanted for).
|
|
|
|
is set to 256MB and this prevented OpenBSD from booting on machine with
more than ~128MB, 196MB machines would fail to boot very early.
|
|
add mac hooks to the powerpc config structure, probably
a hack, and certainly needs to be cleaned up.
bus.h
p4e_ -> ppc_X
add write_multi and prototypes for bus_space_X_raw_multi functions.
intr.h
add structure for interrupt handler.
pio.h
remove the unnecessary and slowing "sync" instruction from
each pio access.
remove unnecessary newline characters from the generated asm.
eieio after writes, but before reads.
types.h
formatting change
vmparam.h
change powerpc kernel virtual memory sizing from a fixed segment
to a variable, initialized with a segment size, this is
so that the pmap allocator can steal virtual memory, if vm
is not yet set up. Necessary for mapping devices before the
kernel vm structures are initialized.
|
|
|
|
|
|
|
|
be possible to have more optimial egcs support.
|
|
(don't forget that cpp is `lazy':
#define A B
#define B value
#if A == value
works, since A isn't extended before it's needed, by which time B is known)
|
|
|
|
|
|
|
|
|