Age | Commit message (Collapse) | Author |
|
the access type that caused this mapping. This is to simplify pmaps
with mod/ref emulation (none for the moment) and in some cases speed
up pmap_is_{referenced,modified}.
At the same time, clean up some mappings that had too high protection.
XXX - the access type is incorrect in old vm, it's only used by uvm and MD code.
The actual use of this in pmap_enter implementations is not in this commit.
|
|
to, at the bottom or the top, depending on your architecture's stack growth
direction. This is in preparation for Linux' clone(2) emulation.
port maintainers, please check that I did the work right.
|
|
|
|
|
|
|
|
(Some of these changes are work in progress and may change more later)
locore.S:
rearranged to remove most of the direct openfirmware references in
the attempt to move all of the openfirmware pieces into ofw_ files.
This could allow other firmware type to be supported easier. Also
this keeps the openfirmware code grouped in the same files.
OF_buf is now statically allocated in the data/bss section instead
of allocated during initialization.
machdep.c:
change the order of vm initialization, Still considering removing
the BATs from use. instead of calls directly to ppc_exit and ppc_boot
these are now called via a firmware function pointer structure.
Add iMac recognition to systems
ofw_machdep.c:
function pointer structure to allow different firmware to supply
specific system functionality, normally startup and reset,
including a hook to notify when bsd is about to go virtual,
in case firmware calls need to act different after that time.
Allow BSD to handle the virtual memory operations for openfirmware.
this idea was copied from NetBSD macppc, It is not fully implemented,
among other problems, openfirmware does not have a mechanism to
add new mappings.
ofwreal.S:
Major rewrite of the firmware call code, It still copies
a portion of the stack, but now does not restore exeception vectors.
Modified to be similar in idea to NetBSD macppc with BSD handling
the openfirmware VM faults/TLB misses.
This still needs to be reviewed, Should be possible to not require
any stack copy.
opendev.c:
OF_bus is not a pointer to the buffer, but is the buffer itself now.
openfirm.c:
OF_bus is not a pointer to the buffer, but is the buffer itself now.
Dont panic if OF_boot fails, OF_boot can be called by panic.
instead print and the hang in a spin loop.
pmap.c:
call the firmware function to get memory regions.
Scale the PowerPC hash table size by size of real memory.
Properly align the hash table based on the start, not just
the size.
|
|
It is a debugging operation anyway.
|
|
start using the ddb_regs. If the address is specififed, start from the
address.
|
|
saved for debugging purposes.
|
|
|
|
|
|
|
|
be possible to have more optimial egcs support.
|
|
pci vendid 0x10ad, device id 0x0565. (these need to be added to
the pcidevs properly, (Symphony Labs, ISA Bridge).
|
|
be bridged. Do the real work in a scheduled netisr.
|
|
others. syscall commit pending.
|
|
(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)
|
|
The first fixes a major problem seen _too_ many times to record.
If a task that is busy doing disk io is interrupted with a ^C,
its would frequently put the system into a mode where it would
very shortly crash, It was known that it was a signal delivery
that was occurring incorrectly, but had not been diagnosed where.
It is no longer possible to crash the machine on whim.
(This probably should be recorded as a stability patch for 25).
The second was not a bug that had ever been seen to be identified,
but looking at the code it was obvious that the onfault variable was not
being reset before the function exit. The code differs between NetBSD
and OpenBSD somewhat, however only two instances of the code was
reported, and three instances exist in the OpenBSD code. (all were fixed).
|
|
|
|
this whole pmap could use replacing.
|
|
asm function headers previously used.
|
|
information as to why, illegal instruction, floating point, ...
|
|
|
|
These change were necessary due to the following changes:
The change/import of the "generic" isa/pcppi driver. The powerpc
port currently has it's own copy of that driver. The two versions
need to be merged.
The parameter changes to cpu_set_kpc. The powerpc change was not quite correct.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
config file was missed when that change was made.
|
|
getting all of the complexities captured in the code before release
is not going to be possible, maybe after release this will be fixed.
Regressing to 1.8 (version before allowing nested interrupts).
|
|
from the first file. (the last commit of this file had several lines missing.)
|
|
|
|
worse than useless.
|
|
|
|
|
|
through the drivers. Ok, it would not be too bad to have it an inlined
function in a header file, but it is not that bad.
|
|
referring to the offset specified in the pci base address config register.
|
|
we really should fix the config args of the wscons code.
|
|
soft interrupt.
|
|
implement an ioctl to get a spoofed label even for disks that have
a label on them.
|
|
This contains several pieces of the port
MI:
vgafb, on powerpc under openfirmware the vga card comes up in gfx mode.
instead of resetting it to text mode, vgafb treats this as a raster
display. The mechanism used may not have been the best, it's
interface to wscons is as a text display, and it does the character
plotting itself.
font_8x16.c was stolen from the atari port for use.
MD:
ppcppi support stolen from alpha
pms.c, pckbd.c and the rest of the support files were
used nearly directly.
powerpc
conf.c to support wscon, vga/kbd
machdep.c hack to get around a bus_space_set_region,bus_space_copy error.
ofw_machdep.c some hack code on the road to supporting wscons as console.
|
|
o all but vax are major 51
|
|
too, execept console will be com3 :-)
|
|
disks if those drivers are in the kernel. This allows the use
of ofdisk0 for floppy support. (until fd.c is supported).
|
|
This should enable the same kernel to work on VI machines as
well as MCG machines. Only remaining piece is the rtc.
For now an extra config file has been added to use serial for MCG
machines until all issues are resolved. The various extra config
files and ramdisks should go away as soon as merger is finished.
|
|
they only have COM3 and COM4, MCG boards have COM1 and COM2 addresses (only).
This will need to be turned into a variable that is probed and
then passed to the console (com) driver.
|
|
|