Age | Commit message (Collapse) | Author |
|
|
|
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.
|
|
causes a trailing ' ' to be on filenames and was not recognized if at
beginning of string. Fixed so those instances work also.
|
|
|
|
console and now that configuration works better, this causes problems.
|
|
|
|
portion of the pci devices, 1,2,4,8,... instead of 1,2,3,4,5,6,7,8,...
Updated to use indirect PCI configuration, so that pci-pci buses could
be probed. And that devices > 11 on the pci bus could be detected.
|
|
the absolute address requested, or the offset address, this is
done by oring the requested address with the bus base address.
Devices on the mac-io bus are bus base relative, but the pci devices
are absolute addresses.
|
|
options, the dash character is only special if a space preceeds it.
fixes booting from "/pci/mac-io/ide/disk/bsd".
|
|
then fails with illegal instruction. (init or shell).
|
|
|
|
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).
|
|
pieces associated, shrinking the kernel is good.
Add ppb to both of these, the PCI-PCI bridge would be a good thing
for machine that have one.
|
|
|
|
add pseudo-devices for IPv6 into arch/*/conf/GENERIC.
nuke arch/*/conf/GENERIC.v6.
|
|
|
|
|
|
ethernet and disk now.
|
|
will cause them to fail in an interesting way if they are booted on
non apple machine, but temporarily remove the requirement to put the
model names in a table. Workaround until the model/compatibility recognition
is done better.
|
|
is set to 256MB and this prevented OpenBSD from booting on machine with
more than ~128MB, 196MB machines would fail to boot very early.
|
|
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.
|
|
|
|
|