Age | Commit message (Collapse) | Author |
|
is not to be specified in files.<arch> but if the arch has rd_attach_hook
and rd_open_hook, the file that these are in need to be included in
that files.<arch> file.
|
|
|
|
this is how the registers are arranged for obio.
|
|
architectures.
|
|
changes to boot on Apple iMac G3 (333). ethernet address changes
Locore.c
OpenBSD tag
hack to delay decrementer exception until after bootload,
apple OFW enables interrupts during "system calls"
add OF_call_method, to make ofw call by name.
Apple OFW can return unexpected values from getchar calls.
alloc.c
OpenBSD tag
boot.c
OpenBSD tag
updated (but still unused load symbol code).
Code cleanup for egcs.
cache.c
OpenBSD tag
use dcbst, not dcbf
icbi has both arguments as registers, not constant and register.
net.c
OpenBSD tag
netif_of.c
OpenBSD tag
add "local-mac-address" to methods of fetching mac address,
it can be stored in that variable or in mac-address.
support dma buffers,
add additional return value for OF_read for network timeout purposes.
ofdev.c
OpenBSD tag
support dma buffers,
ofdev.h
OpenBSD tag
add dmabuf
remove MAC default kernel def.
ofwmagic.S
OpenBSD tag
openfirm.h
OpenBSD tag
boot.mac/Makefile
Build debug, - not used for version 3 apple openfirmware, ie imacs.
|
|
IPX added to GENERIC, only because last released kernels were built that way.
|
|
|
|
Commit properly started and terminated.
|
|
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.
|
|
calculate delay time for delay() before it is acutally used.
add support for md_diskconf come closer to supporting crashdumps,
eventually this code should be un if 0 ed and supported.
add the wd device as a supported device, fix some comments.
clock.c:
support calculation of delay loop earlier, do the spin loop correcly,
unsigned math on the lower half, not signed math.
conf.c:
addd support for wd driver, block major 0, char major 11.
machdep.c:
bus_space_map becomes a real function, not just inlined function.
Support devices that are not mapped with bats (most still currently
are mapped with bats,...). BAT mapping does not allow proper
mapping of cachable devices.
mapiodev HACK, NEEDS TO BE REMOVED. added for quicker import
of BROKEN mac drivers. the drivers NEED to be rewritten in
a busified manner. it would FIX all of the endian swabbing
done by each driver. (Is that emphasized enough?)
bus_space_(read|write)_raw_multi as functions, should these
be turned into inline functions and put in bus.h?
ofw_machdep.c:
removed extranious variable.
openfirm.c:
telling openfirmware to "boot" will put the system
in somewhat of a strange state, try reset-all, but that
typically fails, therefore, try OF_exit before spinning.
pmap.c:
support stealing memory from kernel address space so that
mappings can be created before vm is initalized.
vm_machdep.c:
maybe the meaning of removing this will later become obvious. ???
|
|
Some mac drivers mentioned in the config files may not be be currently
supported.
|
|
will need to be merged back in. Both are currently untested.
mac interrupt support is currently a big hack and needs to be redesigned
as part of the system, several of the mac drivers need busified also.
|
|
on the imac computer, Additional hardware and driver support will follow.
Initially wdc_obio support the imac (333Mhz) atapi cdrom and the ATA harddrive.
also Bmac ethernet is supported at least at 10Mb.
|
|
attributes, allowing kernels to exist w/ rd as the only disk device.
tested on a few archs; niels@ & millert@ ok
|
|
fix typo someone made.
|
|
|
|
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.)
|