Age | Commit message (Collapse) | Author |
|
|
|
Ported from FreeBSD.
This driver does not pass packets yet, lots of code is still missing.
The driver will remain disabled in kernel configs until it is ready.
At this stage, code for device initialization should be fairly complete.
Some hardware features will require additional firmware packages to be
loaded. My plan is to get things working in the basic "safe mode" first,
which does not require external firmware.
I will continue working on this driver in-tree, with funding from genua.
Help is welcome.
ok dlg@
|
|
If any other CPU has not finished wbinvd, PSP command may fail. To
avoid races, call wbinvd_on_all_cpus_acked() which waits for
acknowledgement from IPI handler. Provide stub to build non-MP
kernels.
from hshoexer@; OK mlarkin@
|
|
|
|
mappings to work.
|
|
|
|
|
|
|
|
|
|
|
|
Implement wbinvd_on_all_cpus_acked() similar to pmap_tlb_shootpage().
This ensures, wbinvd has been executed on all cores when the function
returns. This is needed to avoid psp(4) races.
from hshoexer@; OK mlarkin@
|
|
callback interface a bit simpler.
ok beck@ claudio@ mpi@
|
|
devices (ofnet, etc) for the VI board in the before-macppc days which nobody
remembers, and has never been needed for anything on macs.
|
|
|
|
debug code added in NetBSD 1.51 not being completely removed in 1.133, and
which we have been carried since 1.1 here...
|
|
|
|
for it.
|
|
|
|
of up to 8 handlers, one arrays par ipl level. Eventually the interrupt
logic was changed to linked lists, but the arrays remained, even when
the pending interrupt structures were moved to per-cpu data.
Simplify this by only keeping a pointer to the list head, per ipl level;
update the computations in locore accordingly, and update the relevant
comments to match reality as well.
ok kettenis@
|
|
a struct clockframe rather than a struct trapframe, more visible. No
functional change.
ok claudio@ kettenis@
|
|
While there, remove unused defines.
|
|
messages it may print are tied to the particular device it concerns.
|
|
the need for CLKF_BASEPRI in OpenBSD 3.2. Rename it to stress the fact that
it is no longer used.
|
|
|
|
Keep entries sorted by vendor.
ok miod@, mlarkin@
|
|
file modified to use OpenFirmware routines:
``Make the freelist best fit code a tiny bit smarter to not use a block if
half or more would be wasted. Causes more effective re-use of blocks.''
Bump bootloader version in the unlikely case this misbehaves on some machines.
|
|
which got limited to at most two tries 26 years ago for the 2.3 release,
but the documentation was never updated to match this change. Do it now.
Reported by Nir Lichtman on tech@, file forgotten in previous commit
|
|
which got limited to at most two tries 26 years ago for the 2.3 release,
but the documentation was never updated to match this change. Do it now.
Reported by Nir Lichtman on tech@
|
|
picked the old name when introducing this field.
Reminded by mpi@
|
|
ok jan
|
|
support for tape block devices was removed in 2016
ok miod@
|
|
|
|
Tested by & ok aoyama@
|
|
charge level in newer SMC firmware.
ok tobhe@
|
|
|
|
ok miod@
|
|
assembly files (which are compiled with this define).
|
|
ok miod@
|
|
and X540. The driver was originally written by Intel and released as
ixv driver version 1.5.32 and ported to OpenBSD by Yuichiro NAITO,
naito.yuichiro at gmail.com. tested by henson at acm.org and many
others.
ok jmatthew
|
|
My PowerBook G4 had some old code in its instruction cache when it
jumped into OpenBSD's kernel. If I got unlucky with a reordered
kernel, it would trip over the old code, trap into ddb, and fail to
boot. The same kernel would boot fine on a different macppc with
different firmware. This problem is rare; I got unlucky only twice,
on 2022-04-26 and 2024-07-01.
This fix tells ofwboot to invalidate the instruction cache for the
loaded kernel before jumping there.
Adapted from NetBSD src/sys/arch/macppc/stand/ofwboot/boot.c
|
|
Use km_alloc(9) instead of uvm_km_zalloc() for the allocation because the
mappings are no longer "lost" when switching over to the pae pmap.
Introduce a new function to reduce code duplication involving km_alloc(9).
Remove printing some __func__ in panic(9) strings, they are redundant.
Tested by sthen@ in a bulk. ok mlarkin@, hshoexer@
|
|
ok mpi@ miod@
|
|
call into rtkit_boot().
ok patrick@, tobhe@
|
|
MacBook with the latest system firmware.
ok patrick@, jsg@
|
|
ok tobhe@
|
|
Also use atomic_load_int(9) to load `securelevel'. sysctl_securelevel()
is mp-safe, but will be under kernel lock until all existing
`securelevel' loading became mp-safe too.
ok mpi
|
|
ok jsg@, miod@
|
|
Now curcpu()->ci_idepth == 0 would work on macppc as it does on
powerpc64 and other archs, by checking that we aren't in an interrupt.
This also makes macppc's splassert_check() less different.
locore.S checks for the 1st interrupt when it increments ci_idepth.
Using -1 for no interrupts had saved an instruction, as "addic." was
short for "addi; cmpwi". Using 0, it now does "cmpwi; addi" to
compare ci_idepth with 0 before incrementing it.
ok mpi@
|
|
ok mpi@, anton@
|
|
|