Home | History | Annotate | only in /src/sys/arch/virt68k
History log of /src/sys/arch/virt68k
RevisionDateAuthorComments
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.12 27-Aug-2025  isaki options<space><tab>
 1.11 23-Aug-2025  isaki Disable viogpu* on virt68k.
virt68k does not have rasops and wscons (yet?).
Need to pullup netbsd-11.
 1.10 27-Mar-2025  riastradh branches: 1.10.2;
virtio(4): Consolidate kernel configs.

No functional change intended.

Leave `# XXX ?' comments where I don't know why the driver in
question is excluded. (Typical reason is that PAGE_SIZE is not 4096
but I didn't investigate -- if you do investigate, please either
update the comment if you determine a reason, or enable the driver if
you don't.)

PR kern/59211: vio9p(4): missing from various GENERICs and MAKEDEVs
 1.9 01-Nov-2024  mlelstv Add drvctl driver.
 1.8 23-Sep-2024  rin virt68k: GENERIC: Add some features required by ATF

- NULLFS, PUFFS, and putter
- SYSV{MSG,SEM,SHM}
- {,sw}crypto
 1.7 16-Jul-2024  riastradh viocon(4): Add to various kernel configs.
 1.6 19-Jan-2024  thorpej branches: 1.6.2;
Revert unintended commit.
 1.5 19-Jan-2024  thorpej Adjust the clockframe to be the same as what the common m68k interrupt
dispatch code expects.
 1.4 08-Jan-2024  thorpej Add PROCFS and MSDOSFS.
 1.3 02-Jan-2024  thorpej Add a driver for the Qemu Virtual System Controller that can be used
to halt or reset the system.
 1.2 02-Jan-2024  thorpej Comment out LOCKDEBUG.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.6.2.1 02-Aug-2025  perseant Sync with HEAD
 1.10.2.1 27-Aug-2025  martin Pull up following revision(s) (requested by isaki in ticket #19):

sys/arch/virt68k/conf/GENERIC: revision 1.11

Disable viogpu* on virt68k.

virt68k does not have rasops and wscons (yet?).
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.4 13-Jan-2024  thorpej Switch to common m68k vector table.
 1.3 09-Jan-2024  thorpej Remove duplicated / slightly-tweaked loadustp() (load user segment table)
routines from all of the m68k ports using the shared pmap. Instead, in
pmap_init(), set up a function pointer to the appropriate mmu_load_urp*()
function in mmu_subr.s.
 1.2 02-Jan-2024  thorpej Add a driver for the Qemu Virtual System Controller that can be used
to halt or reset the system.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.2 03-Jan-2024  thorpej Add gftty at char 12.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.2 02-Jan-2024  thorpej If the loader passed us a RAM disk, use it as the root file system.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.3 05-Mar-2024  isaki Fix two problems that the time runs late on virt68k.
- The time between the time the alarm occurred and the time read by
TIME_* register in the next interrupt handler was not accumulated.
- With the one-shot timer method, once the host time prolongs, the
guest time will never be able to catch up with the host time again.
New one does:
- The driver maintains its (guest's) time (as sc_alarm_time) and always
set the next alarm sc_interval_ns after the previous alarm.
- gfrtc_set_alarm() takes an absolute time instead of a relative time
as the argument.
PR kern/57980. Confirmed on QEMU.
 1.2 12-Jan-2024  mlelstv The interrupt handler needs to clear the interrupt condition
before re-arming the timer. Otherwise the timer could expire
again before clearing the interrupt, the interrupt gets lost
and the clock stops.

On real hardware that could only occur if the timer interval
is extremely short or if there is a higher-than-clock interrupt
that delays processing. In the emulated world however, time
can progress non-continously and this happens often under load.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.2 06-Jan-2024  thorpej Put some meat on the bones of the Goldfish TTY driver. Works well enough
for sysinst.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.2 17-Sep-2025  thorpej Use device_compatible_{match,lookup}_strlist().
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.2 06-Jan-2024  thorpej Fix dump paste-o. Halt works properly. Reboot does reboot, but the
new kernel instance crashes early.
 1.1 02-Jan-2024  thorpej Add a driver for the Qemu Virtual System Controller that can be used
to halt or reset the system.
 1.2 09-Mar-2024  isaki Fix a null dereference.
free_interrupts may be called even when sc_ih has not been assigned yet.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.2 30-Nov-2024  christos Create a new header lwp_private.h to contain _lwp_getprivate_fast,
_lwp_gettcb_fast, _lwp_settcb and remove them from mcontext.h, so that:
1. we don't need special hacks to hide them
2. we can include <lwp.h> where needed to get the necessary prototypes
without redefining them locally.
 1.1 02-Jan-2024  thorpej branches: 1.1.2;
Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1.2.1 02-Aug-2025  perseant Sync with HEAD
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.2 20-Jan-2024  thorpej Hygiene.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.5 08-Jan-2024  thorpej Add bootinfo_getarg(), which gets the name kernel command line argument
and returns its value (sort of like getenv()).
 1.4 06-Jan-2024  thorpej The RAM disk specified by bootinfo is not necessarily loaded along with
the static kernel image. Map is separately and account for it in the
available memory segments.
 1.3 02-Jan-2024  thorpej Detect a RND seed passed in by the loader.
XXX We don't actually *do* anything with it yet.
 1.2 02-Jan-2024  thorpej Move the initrd setup into bootinfo.c
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.2 20-Jan-2024  thorpej Hygiene.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.7 20-Jan-2024  thorpej Largely unify the <machine/cpu.h> headers on the m68k platforms.
 1.6 19-Jan-2024  thorpej Adjust the clockframe to be the same as what the common m68k interrupt
dispatch code expects.
 1.5 18-Jan-2024  thorpej Make the M68K_MMU_* defines real kernel options, available in opt_m68k_arch.h.
For 68030, 68040, and 68060, infer M68K_MMU_MOTOROLA. For 68010 and 68020, it
must be an explicit option (set in std.${MACHINE} or, in the case of hp300,
inferred from the specific model option).
 1.4 09-Jan-2024  thorpej Remove duplicated / slightly-tweaked loadustp() (load user segment table)
routines from all of the m68k ports using the shared pmap. Instead, in
pmap_init(), set up a function pointer to the appropriate mmu_load_urp*()
function in mmu_subr.s.
 1.3 02-Jan-2024  thorpej Provide a mechanism for a system reset controller to register to be used
to reset/halt the system.
 1.2 02-Jan-2024  thorpej Collect some garbage.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.2 20-Jan-2024  thorpej Hygiene.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.2 20-Jan-2024  thorpej Hygiene.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.2 20-Jan-2024  thorpej Hygiene.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.2 19-Jan-2024  thorpej Adjust the clockframe to be the same as what the common m68k interrupt
dispatch code expects.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.2 20-Jan-2024  thorpej Hygiene.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.2 20-Jan-2024  thorpej Hygiene.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 30-Nov-2024  christos branches: 1.1.4;
Create a new header lwp_private.h to contain _lwp_getprivate_fast,
_lwp_gettcb_fast, _lwp_settcb and remove them from mcontext.h, so that:
1. we don't need special hacks to hide them
2. we can include <lwp.h> where needed to get the necessary prototypes
without redefining them locally.
 1.1.4.2 02-Aug-2025  perseant Sync with HEAD
 1.1.4.1 30-Nov-2024  perseant file lwp_private.h was added on branch perseant-exfatfs on 2025-08-02 05:56:14 +0000
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.2 20-Jan-2024  thorpej Hygiene.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.2 20-Jan-2024  thorpej Hygiene.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 13-Jan-2024  thorpej Switch to common m68k vector table.
 1.3 08-Feb-2025  tsutsui Bump DFLSSIZ from 512KB to 2MB on all hp300 pmap m68k ports.

Some modern applications could require 512KB buffer on stack and
no particular comment on port-m68k@:
https://mail-index.netbsd.org/port-m68k/2025/02/02/msg000893.html
 1.2 06-Jan-2024  thorpej branches: 1.2.2;
The RAM disk specified by bootinfo is not necessarily loaded along with
the static kernel image. Map is separately and account for it in the
available memory segments.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.2.2.1 02-Aug-2025  perseant Sync with HEAD
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.7 04-Oct-2025  thorpej Use device_{get,set}prop_bool() for "is-console".
 1.6 09-Mar-2025  mlelstv Don't try to identify the boot device. This regulary fails
for wedge devices and cannot handle wedge names.

Instead, let the kernel resolve the device passed as boot arg later.
 1.5 08-Jan-2024  thorpej branches: 1.5.2;
Accept "root=xxx" for the root device and "flags=xxx" as the boothowto
flags from the kernel command line arguments.
 1.4 07-Jan-2024  thorpej Don't to go IPL0 right before calling main(), instead call spl0() at the
end of cpu_configure(). It seems that Qemu doesn't reset pending interrupts
correctly after a RESET request, which was causing an explosion when an
interrupt was delivered to the new kernel instance. This change makes
reboot work.

Thx to mlelstv@ for figuring out what the problem was.
 1.3 02-Jan-2024  thorpej Move the initrd setup into bootinfo.c
 1.2 02-Jan-2024  thorpej If the loader passed us a RAM disk, use it as the root file system.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.5.2.1 02-Aug-2025  perseant Sync with HEAD
 1.9 09-Jun-2025  andvar s/kenrnel/kernel/ in comment.
 1.8 11-Nov-2024  riastradh virt68k/bootinfo.c: Nix trailing whitespace.

No functional change intended.
 1.7 01-Nov-2024  mlelstv Make compilable without GFTTY
 1.6 08-Jan-2024  thorpej branches: 1.6.2;
Add bootinfo_getarg(), which gets the name kernel command line argument
and returns its value (sort of like getenv()).
 1.5 06-Jan-2024  thorpej Implement bootinfo_setup_rndseed(). Thx Riastradh@ for the suggestion.
 1.4 06-Jan-2024  thorpej The RAM disk specified by bootinfo is not necessarily loaded along with
the static kernel image. Map is separately and account for it in the
available memory segments.
 1.3 02-Jan-2024  thorpej Detect a RND seed passed in by the loader.
XXX We don't actually *do* anything with it yet.
 1.2 02-Jan-2024  thorpej Move the initrd setup into bootinfo.c
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.6.2.1 02-Aug-2025  perseant Sync with HEAD
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.2 08-Jan-2024  thorpej Use aprint_error() rather than a bare printf() in a few spots, and
an aprint_normal() in some others.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.2 08-Jul-2025  thorpej Use the new common TT register configuration functions and generally
streamline the code that enables the MMU.
 1.1 02-Jan-2024  thorpej branches: 1.1.2;
Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.1.2.1 02-Aug-2025  perseant Sync with HEAD
 1.4 01-Nov-2024  mlelstv Catch stray interrupts.
The message reports the CPU interrupt level.
 1.3 19-Jan-2024  thorpej branches: 1.3.2;
Adjust the clockframe to be the same as what the common m68k interrupt
dispatch code expects.
 1.2 02-Jan-2024  thorpej Bump date.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.3.2.1 02-Aug-2025  perseant Sync with HEAD
 1.17 06-Sep-2025  riastradh paravirt_membar_sync(9): New memory barrier.

For use in paravirtualized drivers which require store-before-load
ordering -- irrespective of whether the kernel is built for a single
processor, or whether the (virtual) machine is booted with a single
processor.

This is even required on architectures that don't even have a
store-before-load ordering barrier, like m68k; adding, e.g., a virtio
bus is _as if_ the architecture has been extended with relaxed memory
ordering when talking with that new bus. Such architectures need
some way to request the hypervisor enforce that ordering -- on m68k,
that's done by issuing a CASL instruction, which qemu maps to an
atomic r/m/w with sequential consistency ordering in the host.

PR kern/59618: occasional virtio block device lock ups/hangs
 1.16 08-Jul-2025  thorpej branches: 1.16.2;
Use the new common TT register configuration functions and generally
streamline the code that enables the MMU.
 1.15 19-Jan-2024  thorpej branches: 1.15.2;
Adjust the clockframe to be the same as what the common m68k interrupt
dispatch code expects.
 1.14 18-Jan-2024  isaki Set TT0 register to recognize the I/O space even on the 68030 case.

http://mail-index.netbsd.org/port-m68k/2024/01/17/msg000870.html
 1.13 17-Jan-2024  thorpej Make sigcode.s and sunos_sigcode.s build as their own stand-alone files.
 1.12 17-Jan-2024  thorpej Make compat_13_sigreturn13.s and compat_16_sigreturn14.s build as their
own stand-alone files and G/C the now-empty sigreturn.s.
 1.11 17-Jan-2024  thorpej G/C intrcnt[].
 1.10 16-Jan-2024  thorpej Build m68k/support.s on its own; don't include it from locore.s
 1.9 13-Jan-2024  thorpej Switch to common m68k vector table.
 1.8 12-Jan-2024  thorpej Make getsr() an inline in <m68k/psl.h> and G/C all of the now-redudant
copies.
 1.7 12-Jan-2024  thorpej Remove getsp(); nothing uses it.
 1.6 09-Jan-2024  thorpej Properly implement mm_md_physacc() and garbage-collect the now unused
"lowram" variable (hold-over from hp300 lineage).
 1.5 09-Jan-2024  thorpej Statically-initialize the '851 / '030 protorp with MMU51_SRP_BITS. In
pmap_init(), re-initialize protorp with MMU51_CRP_BITS. Remove the now-
redundant code that does this in each of the m68k platforms.
 1.4 09-Jan-2024  thorpej Remove duplicated / slightly-tweaked loadustp() (load user segment table)
routines from all of the m68k ports using the shared pmap. Instead, in
pmap_init(), set up a function pointer to the appropriate mmu_load_urp*()
function in mmu_subr.s.
 1.3 07-Jan-2024  thorpej Don't to go IPL0 right before calling main(), instead call spl0() at the
end of cpu_configure(). It seems that Qemu doesn't reset pending interrupts
correctly after a RESET request, which was causing an explosion when an
interrupt was delivered to the new kernel instance. This change makes
reboot work.

Thx to mlelstv@ for figuring out what the problem was.
 1.2 02-Jan-2024  thorpej Provide a mechanism for a system reset controller to register to be used
to reset/halt the system.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.15.2.1 02-Aug-2025  perseant Sync with HEAD
 1.16.2.1 19-Oct-2025  martin Pull up following revision(s) (requested by riastradh in ticket #60):

sys/arch/sparc/sparc/locore.s: revision 1.287
share/man/man9/Makefile: revision 1.475
sys/arch/mips/mips/cpu_subr.c: revision 1.65
sys/arch/riscv/riscv/cpu_subr.c: revision 1.6
sys/arch/mips/mips/cpu_subr.c: revision 1.66
sys/arch/amd64/amd64/cpufunc.S: revision 1.70
common/lib/libc/arch/i386/atomic/atomic.S: revision 1.38
common/lib/libc/arch/sparc/atomic/membar_ops.S: revision 1.9
sys/arch/hppa/hppa/support.S: revision 1.9
sys/arch/alpha/alpha/locore.s: revision 1.145
share/man/man9/paravirt_membar_sync.9: revision 1.1
sys/arch/sparc64/sparc64/locore.s: revision 1.436
distrib/sets/lists/comp/mi: revision 1.2499
sys/arch/i386/i386/cpufunc.S: revision 1.54
common/lib/libc/arch/sparc64/atomic/membar_ops.S: revision 1.10
sys/sys/paravirt_membar.h: revision 1.1
sys/arch/arm/arm/cpu_subr.c: revision 1.6
sys/arch/virt68k/virt68k/locore.s: revision 1.17
common/lib/libc/arch/x86_64/atomic/atomic.S: revision 1.32

paravirt_membar_sync(9): New memory barrier.

For use in paravirtualized drivers which require store-before-load
ordering -- irrespective of whether the kernel is built for a single
processor, or whether the (virtual) machine is booted with a single
processor.

This is even required on architectures that don't even have a
store-before-load ordering barrier, like m68k; adding, e.g., a virtio
bus is _as if_ the architecture has been extended with relaxed memory
ordering when talking with that new bus. Such architectures need
some way to request the hypervisor enforce that ordering -- on m68k,
that's done by issuing a CASL instruction, which qemu maps to an
atomic r/m/w with sequential consistency ordering in the host.

PR kern/59618: occasional virtio block device lock ups/hangs

mips: Fix asm arch options in new paravirt_membar_sync.
Need to explicitly enable mips2 (MIPS-II) instructions in order to
use sync. Fixes:
/tmp/ccxgOmXc.s: Assembler messages:
/tmp/ccxgOmXc.s:3576: Error: opcode not supported on this processor: mips1 (mips1) `sync'
--- cpu_subr.o ---
*** Failed target: cpu_subr.o

PR kern/59618: occasional virtio block device lock ups/hangs
 1.9 05-Mar-2024  thorpej Move the at-shutdown call to resettodr() from cpu_reboot() to kern_reboot().

It's a small step, but it's a step.
 1.8 13-Jan-2024  thorpej Switch to common m68k vector table.
 1.7 09-Jan-2024  thorpej Properly implement mm_md_physacc() and garbage-collect the now unused
"lowram" variable (hold-over from hp300 lineage).
 1.6 08-Jan-2024  thorpej Accept "root=xxx" for the root device and "flags=xxx" as the boothowto
flags from the kernel command line arguments.
 1.5 06-Jan-2024  thorpej Fix stupid typo in cpu_set_reset_func().
 1.4 06-Jan-2024  thorpej The RAM disk specified by bootinfo is not necessarily loaded along with
the static kernel image. Map is separately and account for it in the
available memory segments.
 1.3 02-Jan-2024  thorpej Provide a mechanism for a system reset controller to register to be used
to reset/halt the system.
 1.2 02-Jan-2024  thorpej Detect a RND seed passed in by the loader.
XXX We don't actually *do* anything with it yet.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.4 02-Jan-2024  thorpej Remove yet another remnant of debugging.
 1.3 02-Jan-2024  thorpej Collect more garbage.
 1.2 02-Jan-2024  thorpej G/C some scratch-pad notes.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.4 23-Sep-2024  rin virt68k: trap: Fix ksi_code for T_TRAP{,15}|T_USER

Fix ATF failures for lib/libc/sys/t_ptrace_wait*:{,set}step*.

XXX
It would be really nice if we can factor out copy-paste b/w
m68k ports...
 1.3 25-Feb-2024  mlelstv branches: 1.3.2;
Don't crash in copyin/copyout when a NULL pointer is passed.
 1.2 20-Jan-2024  thorpej Largely unify the <machine/cpu.h> headers on the m68k platforms.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.
 1.3.2.1 02-Aug-2025  perseant Sync with HEAD
 1.3 13-Jan-2024  thorpej Switch to common m68k vector table.
 1.2 02-Jan-2024  thorpej Remove non-applicable comments.
 1.1 02-Jan-2024  thorpej Add a port to the Qemu m68k "virt" platform, a 68040-based virtual machine
with VirtIO I/O devices.

This is a work-in-progress, but "successfully mounts root file system
and then complains about missing /sbin/init that is, in fact, not there"
seems like a good checkpoint.

RSS XML Feed