Link [ NetBSD | NetBSD OpenGrok source search | PR fulltext-search | Summary of daily snapshot builds | history of daily build result | pkgsrc commit viewer ]


   
        usage: [branch:branch] [user:user] [path@revision] keyword [... [-excludekeyword [...]]] (e.g. branch:MAIN sys/arch/arm, if_wm.c@1.234 )




switch to index mode

recent branches: MAIN (15m)  netbsd-8 (5d)  netbsd-10 (6d)  netbsd-9 (11d)  thorpej-ifq (175d)  thorpej-altq-separation (178d) 

2024-05-10 12:39:41 UTC Now

2024-04-25 01:33:04 UTC MAIN commitmail json YAML

Add a match quirk to prevent matching any interface on SiPEED FPGA
development boards (e.g. Tang Nano 9K).  The FT2232s on these boards
are wired up only for JTAG.

(thorpej)

2024-04-24 14:41:13 UTC MAIN commitmail json YAML

Remove a superflouous printf().

(thorpej)

2024-04-24 02:31:26 UTC MAIN commitmail json YAML

b3_2706_map_vme(): Use VM_BESTFIT.

(thorpej)

2024-04-24 02:27:33 UTC MAIN commitmail json YAML

_vme_space_get(): Use VM_BESTFIT.

(thorpej)

2024-04-24 02:08:03 UTC MAIN commitmail json YAML

vmem_init(): Ensure that the quantum is a power of 2, and that if private
tags are being used, they are added to the arena before the first span is
added.

(thorpej)

2024-04-03 04:30:30 UTC MAIN commitmail json YAML

Add a missing barrier in irongate_conf_read0().

(thorpej)

2024-03-31 19:11:21 UTC MAIN commitmail json YAML

In dec_6600_device_register(): If we're running on a DS10, set the
"pciide-disable-dma" property on the on-board "aceride" to true.  This
is intended to be a temporary measure until the issue that makes it not
work correctly is found and fixed.

(thorpej)

2024-03-31 19:06:31 UTC MAIN commitmail json YAML

2024-03-31 18:59:52 UTC MAIN commitmail json YAML

As the final step in configuraing bus-master DMA, consult the boolean device
property "pciide-disable-dma" and disable bus-master DMA if that property is
present and true.

(thorpej)

2024-03-31 17:13:29 UTC MAIN commitmail json YAML

Add machdep.rpb_type and machdep.rpb_variation sysctl nodes.

(thorpej)

2024-03-30 16:47:55 UTC MAIN commitmail json YAML

Add an example devpubd hook that looks for Minipro-compatible EEPROM
programmers and sets the access permissions to 0660.

(thorpej)

2024-03-30 06:42:10 UTC MAIN commitmail json YAML

Add an example devpubd hook that detects the generic USB interface
portion of a Tigard debug board and changes the permissions of the
appropriate /dev/ugenN.* nodes to allow access without superuser
permissions, suitable for using e.g. openocd with the device.

This example can be easily modified to support other generic USB devices
that have user-space drivers where running as the superuser is not desired.

(thorpej)

2024-03-30 06:29:34 UTC MAIN commitmail json YAML

2024-03-30 06:29:01 UTC MAIN commitmail json YAML

Add an example devpubd hook that makes stable path names, using symlinks,
for USB serial interfaces, regardless of where the interface is connected
or the order of enumeration.  This requires the USB device to have a
"serialnumber" to function.  Examples:

- uftdi serial adapter with two ports:

/dev/tty-uftdi-FT64S4YP-1 -> /dev/ttyU0
/dev/tty-uftdi-FT64S4YP-2 -> /dev/ttyU1

- uslsa serial adapter:

/dev/tty-uslsa-01E7ABCC -> /dev/ttyU4

This allows something like the following in /etc/remote:

sun3:dv=/dev/tty-uftdi-FT64S4YP-1:br#9600:pa=none:dc:

That path will always be stable regardless of which /dev/ttyU* node is
actually assigned when the serial adapter is plugged in.

(thorpej)

2024-03-30 06:11:59 UTC MAIN commitmail json YAML

2024-03-29 19:30:09 UTC MAIN commitmail json YAML

ugen and ugenif share the same /dev/ugenN.xx namespace in such a way
that the device unit number does not necessarily match the /dev/ugenN.xx
unit number (N).  If you ONLY have ugen devices, it happens to work out
and devpubd scripts can be extremely naive.  If you ONLY have ugenif
devices, it also happens to work out, but your devpubd scripts have to
slightly more informed.  If you have a mix of ugen AND ugenif devices,
though, you're pretty much out of luck.

So, this change adds a "ugen-unit" device property which devpubd scripts
can query to determine which /dev/ugenN.xx nodes a given ugen or ugenif
device is using.

(thorpej)

2024-03-26 03:38:02 UTC MAIN commitmail json YAML

Add a "match quirk" mechanism to the uftdi driver that allows it to
selectively reject individual interfaces based on the combination of
- Vendor ID
- Product ID
- Interface number
- Vendor string
- Product string

This is necessary[*] to allow some devices that would otherwise match
uftdi (and thus instantiate a ucom) to be matched by ugenif instead,
which is required to make the device available to libusb1.

[*] ...due to a deficiency in the USB stack that does not provide a
mechanism for a user-space driver to claim a device from a kernel driver
and then return it back at a later time.

Use this new match quirk mechanism to reject "interface 1" of the
FTDI 2232C-based Tigard debug board; On this board, "interface 0"
is brought out to regular TTL-level UART pins, but "interface 1" is
brought out to SWD and JTAG headers, and is really only useful when
used with something like openocd.  Because the FTDI 2232C on this board
just uses the standard FTDI vendor and product IDs, it can only be
distinguished by the strings, which cannot be specified usbdevices.config,
thus necessitating the match quirk entry (that works in combination
with the ugenif entry added in usbdevices.config).

(thorpej)

2024-03-26 03:24:14 UTC MAIN commitmail json YAML

Define a "flags 1" config directive for ugenif, which is similar to ugen's,
but rather forces the ugenif to match at the *lowest* match priority rather
than the highest.  This allows ugenif to claim only otherwise unclaimed
interfaces.

(thorpej)

2024-03-06 13:37:35 UTC MAIN commitmail json YAML

2024-03-06 07:34:11 UTC MAIN commitmail json YAML

Alpha systems based on the "Laser" and "TurboLaser" system architecture
have an interesting feature: the RTC and console UART are present on each
CPU module, but only those peripherals on the "primary" CPU module matter,
because each CPU's module's periperals are mapped to the same physical
address, but are only accessible by that CPU module.  The firmware selects
a primary CPU to boot the system, and that CPU's RTC and UART are the
system RTC and console, respectively.

To handle this, on systems where it's needed, we wrap the RTC gettime/settime
calls and, if not running on the primary CPU already, cross-call to the primary
to perform the RTC access.

(thorpej)

2024-03-06 07:22:45 UTC MAIN commitmail json YAML

Statically initialize the PRIMARY and RUNNING flags in cpu_info_primary.

(thorpej)

2024-03-06 06:30:49 UTC MAIN commitmail json YAML

Wrap the mcclock driver's mc146818_softc inside a new mcclock_softc.
This commit represents no functional change, but forms the basis for
a future functional change.

(thorpej)

2024-03-06 05:44:44 UTC MAIN commitmail json YAML

2024-03-06 05:33:09 UTC MAIN commitmail json YAML

Add a bus space implementation for the Gbus, the general 8-bit bus present
on Laser / TurboLaser CPU modules.

(thorpej)

2024-03-06 02:31:44 UTC MAIN commitmail json YAML

Expose mc146818_{get,set}time_ymdhms() and allow a front-end to override
these function pointers in the TODR handle, allowing the front-end to
wrap mc146818_{get,set}time_ymdhms() with special handling, if needed.

(thorpej)

2024-03-05 20:59:41 UTC MAIN commitmail json YAML

Revert previous until I can diagnose a failure reported by gson.

(thorpej)

2024-03-05 14:39:30 UTC MAIN commitmail json YAML

Early in main(), assert that curcpu() evaluates as the primary CPU and
stash away a pointer to it as the boot CPU for quick reference later.

(thorpej)

2024-03-05 14:33:50 UTC MAIN commitmail json YAML

Rename the local "boot_cpu" variable to "uvm_boot_cpu".

(thorpej)

2024-03-05 14:15:36 UTC MAIN commitmail json YAML

2024-03-03 19:56:30 UTC MAIN commitmail json YAML

prom_uses_prom_console() needs to consider ST_DEC_7000, as well.

(thorpej)

2024-03-02 22:58:29 UTC MAIN commitmail json YAML

tlsb -> gbus.  No functional change.

(thorpej)

2024-03-02 20:15:33 UTC MAIN commitmail json YAML

Add the basic framework for the DEC KN7AA ("Ruby") systems -- DEC 7000
and DEC 10000.

This is a work-in-progress, but this should be sufficient for the system
to boot, using the PROM console routines (and then proceed to not find any
devices because we don't yet support the "Laser System Bus").

(thorpej)

2024-03-02 19:57:58 UTC MAIN commitmail json YAML

Shuffle GBus-related files into their own directory in preparation for
other GBus attachments.  No functional change here; just minimal editing
to reflect path differences after moving the files.

(thorpej)

2024-02-28 13:07:08 UTC MAIN commitmail json YAML

Revert the CLOCK_FORMAT0 work-around.

(thorpej)

2024-02-28 13:05:40 UTC MAIN commitmail json YAML

Fix up the mac68k interrupt handlers to work with the new style common
clockframe layout and remove the CLOCK_FORMAT0 work-around.  As a nice
side-effect, this also eliminates the super-sketchy stack unwinding used
by rtclock_intr to get at the interrupt stack frame.

(thorpej)

2024-02-23 23:45:54 UTC MAIN commitmail json YAML

Define mode macros for CPOL and CPHA, and define SPI_MODE_* in terms
of CPOL and CPHA.  Add SPI_FREQ_*() helper macros to make setting the
transfer frequency less error prone.

(thorpej)

2024-02-13 13:46:14 UTC MAIN commitmail json YAML

Add the Sun3 obio flavor's DMA controller access registers.

(thorpej)

2024-02-13 05:35:13 UTC MAIN commitmail json YAML

Move sireg.h from vme/ to sun/ -- the same (or nearly so) register defns
are used by multiple bus attachments.

(thorpej)

2024-01-28 17:31:40 UTC MAIN commitmail json YAML

Rather than having different "builtin" tables (3xx, 362, 382, 4xx),
just have a single "builtin" table with a mask indicating which of
those groups of machines have a particular built-in device.

(thorpej)

2024-01-21 03:42:08 UTC MAIN commitmail json YAML

Catch up with revision 1.5 of atomic_init_cas.c.  Fixes building libc
on sun2, and probably others.

(thorpej)

2024-01-20 02:23:15 UTC MAIN commitmail json YAML

What good are comments, really, if you can't have a little color?  Add
a note above CLKF_INTR() about why NetBSD will likely never switch to
using the "master" stack for the kernel, and thus why the not-enabled
version of CLKF_INTR() will never be enabled.

(Adding the comment here, rather than just deleting the code, has value,
I think, for future retrocomputing archeologists.)

(thorpej)

2024-01-20 01:04:29 UTC MAIN commitmail json YAML

2024-01-20 00:19:12 UTC MAIN commitmail json YAML

Support the hardware-assisted AST on news68k in the common interrupt
stubs.

(thorpej)

2024-01-20 00:15:33 UTC MAIN commitmail json YAML

2024-01-19 20:55:42 UTC MAIN commitmail json YAML

2024-01-19 18:49:10 UTC MAIN commitmail json YAML

Switch the x68k port to use the same clockframe layout as the other
m68k ports.

(thorpej)

2024-01-19 18:18:56 UTC MAIN commitmail json YAML

2024-01-19 17:08:42 UTC MAIN commitmail json YAML

Switch the amiga port to use the same clockframe layout as the other
m68k ports.

(thorpej)

2024-01-19 05:47:15 UTC MAIN commitmail json YAML

Revert unintended commit.

(thorpej)

2024-01-19 05:46:36 UTC MAIN commitmail json YAML

2024-01-19 05:45:28 UTC MAIN commitmail json YAML

2024-01-19 03:59:47 UTC MAIN commitmail json YAML

2024-01-19 03:57:04 UTC MAIN commitmail json YAML

opt_mvmetype.h -> opt_mvmeconf.h to match mvme68k (which wins out because
it supports more boards).

(thorpej)

2024-01-19 03:35:31 UTC MAIN commitmail json YAML

Move physaccess(), physunaccess(), and kvtop() from vm_machdep.c to
pmap_motorola.c.  They're legacy functions tied to that pmap implementation.

(thorpej)

2024-01-19 03:09:05 UTC MAIN commitmail json YAML

2024-01-18 14:42:09 UTC MAIN commitmail json YAML

Remove a comment that is no longer applicable.

(thorpej)

2024-01-18 14:39:07 UTC MAIN commitmail json YAML

2024-01-18 13:46:14 UTC MAIN commitmail json YAML

Switch next68k over to common interrupt dispatch and G/C __HAVE_LEGACY_INTRCNT.
Also included is G/C of the old ssir stuff that's no longer used.

(thorpej)

2024-01-18 05:42:29 UTC MAIN commitmail json YAML

Bump required version (mkflagvar).

(thorpej)

2024-01-18 05:41:38 UTC MAIN commitmail json YAML

2024-01-18 05:13:48 UTC MAIN commitmail json YAML

Add "options M68010" for completeness.

(thorpej)

2024-01-18 05:12:30 UTC MAIN commitmail json YAML

Don't put the MVME1xx model defines into IDENT, make them defflag options and
put them in opt_mvmeconf.h.  Make these options depend on the appropriate
M680x0 option (MVME147 -> M68030, MVME16[27] -> M68040, MVME17[27] -> M68060)
so that the CPU option appears correctly in opt_m68k_arch.h.

(thorpej)

2024-01-18 05:04:13 UTC MAIN commitmail json YAML

mkflagvar M68010 M68020 M68030 M68040 M68060

(thorpej)

2024-01-18 04:41:38 UTC MAIN commitmail json YAML

With config(1) as it exists today, a kernel Makefile is able to implement
logic on kernel options so long as those options are not defflag'd or
defparam'd.  This works because such options are automatally added to the
IDENT var in the kernel Makefile as a preprocessor define, and the Makefile
can then do an operation like:

.if !empty(IDENT:M-DSOMECOOLCPUOPTION)
CFLAGS+= -mcpu=somecoolcpu
.endif

Unfortunately, this precludes making it possible to generate a compile-time
dependency on SOMECOOLCPUOPTION, or having SOMECOOLCPUOPTION imply another
kernel config option using the normal config(1) option dependency function.

Fix this by introducing a new option description keyword: mkflagvar.  This
keyword marks an already defflag'd option as wanting a kernel Makefile var
defined if that option is selected in the kernel config file.  So:

defflag opt_coolcpu.h SOMECOOLCPUOPTION ANOTHERCOOLCPUOPTION
mkflagvar SOMECOOLCPUOPTION ANOTHERCOOLCPUOPTION

will cause:

KERNEL_OPT_SOMECOOLCPUOPTION="1"
KERNEL_OPT_ANOTHERCOOLCPUOPTION="1"

...to be emitted into the kernel Makefile if those options are, in fact,
selected with "options ..." in the kernel config file, thus allowing for
a compile-time dependency on the option to be generated in addition to
Makefile logic, which now looks like:

.if !empty(KERNEL_OPT_SOMECOOLCPUOPTION)
CFLAGS+= -mcpu=somecoolcpu
.endif

(thorpej)

2024-01-18 04:07:38 UTC MAIN commitmail json YAML

Don't put the news1[27]00 model defines into INDENT, make them
defflag options and put them in opt_newsconf.h.  Make these
options depend on the appropriate M680x0 option (M68030 for each)
so that the CPU option appears correctly in opt_m68k_arch.h.

(thorpej)

2024-01-18 03:40:48 UTC MAIN commitmail json YAML

Rather than testing for and defining the M680x0 CPU option in
hp300spu.h, make the individual model options (e.g. HP320, HP425,
etc.) declare a dependency on the correponding M680x0 options.
This makes them appear correctly in opt_m68k_arch.h rather than
having to pull in all of <machine/cpu.h>.

(thorpej)

2024-01-17 12:33:51 UTC MAIN commitmail json YAML

2024-01-17 12:19:07 UTC MAIN commitmail json YAML

2024-01-17 05:41:57 UTC MAIN commitmail json YAML

cpu_switchto(): No need for the pmap_activate() dance here; it's
already done for us in mi_switch().

(thorpej)

2024-01-17 05:22:11 UTC MAIN commitmail json YAML

2024-01-16 15:38:59 UTC MAIN commitmail json YAML

2024-01-16 07:07:00 UTC MAIN commitmail json YAML

Fix computation of the appropriate auto-vector interrupt level to use
for the DMA controller by tracking all of the DIO devices that have
"ISRPRI_BIO" interrupt handlers, and finding the highest auto-vector
level among them and informing the DMA controller.

Previously, in a post-flattening world, the DMA controller was always
told to interrupt at lev5, which is fine I guess although definitely not
ideal, but would not work on aaaancient HP320 Rev A DMA boards.  To that
effect, print a warning if a Rev B DMA board ends up at ipl != 3 (we can't
differentiate between a Rev A and a Rev B board).

(thorpej)

2024-01-16 05:48:29 UTC MAIN commitmail json YAML

Several years ago, the interrupt priority levels for devices were "flattened"
such that IPL_BIO, IPL_NET, and IPL_TTY (logical interrupt priority levels)
became aliases of IPL_VM (the logical interrupt priority level above which
memory allocation is not allowed).  Unfortuantely, this meant that any
use of these logical interrupt priority levels to differentiate between
different interrupt service routines at the same auto-vectored interrupt
level was pointless... "when everyone is special, no one is".

Before this flattening happened, these distinct logical interrupt priority
levels levels were dynamically mapped to physical auto-vectored interrupt
levels based on which types of devices registered themselves at which auto-
vectored level.  Now, splbio(), splnet(), etc. are all equivalent to splvm(),
which effectively blocks all device interrupts.

Switch to using the ISRPRI_* values provided by the common m68k interrupt
dispatch code, which allows interrupt handlers for devices that are more
latency-sensitive to be sorted earlier in the list of handlers at a given
auto-vectored interrupt level, as was originally intended.

(thorpej)

2024-01-16 05:29:44 UTC MAIN commitmail json YAML

Provide PSLTOIPL() and IPLTOPSL() macros.

(thorpej)

2024-01-16 03:44:44 UTC MAIN commitmail json YAML

Switch hp300 over to the common interrupt dispatch code.

XXX There are still some things to fix up here, but it's no worse
than it was before (the problems date back to when we flattened
the device interrupt levels into IPL_VM).

(thorpej)

2024-01-16 02:36:49 UTC MAIN commitmail json YAML

Add a hook to allow a platform to suppress reporting stray auto-vectored
interrupts.

(thorpej)

2024-01-16 02:14:33 UTC MAIN commitmail json YAML

Increment and decrement idepth in the assembly stubs, not C code.  This
provides two advantages:
- Greater coverage for detecting "interrupt time".
- More flexibility for platform-specific interrupt stubs that might need
  to do special processing before calling the common dispatcher.

(thorpej)

2024-01-16 01:26:34 UTC MAIN commitmail json YAML

2024-01-16 01:17:59 UTC MAIN commitmail json YAML

Use m68k_intrvec_intrhand() to implement isrunlink_vectored().

(thorpej)

2024-01-16 01:16:47 UTC MAIN commitmail json YAML

- Declare idepth as volatile.
- Provide a m68k_intrvec_intrhand() routine that returns the interrupt
  handle for a given vectored interrupt.  XXX This is gross and should
  burn to the ground, but is needed to support legacy ISR interfaces.

(thorpej)

2024-01-16 00:34:58 UTC MAIN commitmail json YAML

Switch next68k over to common interrupt dispatch and G/C __HAVE_LEGACY_INTRCNT.
Also included is G/C of the old ssir stuff that's no longer used.

(thorpej)

2024-01-15 20:28:56 UTC MAIN commitmail json YAML

2024-01-15 20:21:51 UTC MAIN commitmail json YAML

2024-01-15 20:10:34 UTC MAIN commitmail json YAML

2024-01-15 19:54:53 UTC MAIN commitmail json YAML

No need for our own spurious interrupt handler now that m68k_intr.c
handles them for us.

(thorpej)

2024-01-15 19:30:15 UTC MAIN commitmail json YAML

No need for our own spurious interrupt handler now that m68k_intr.c
handles them for us.

(thorpej)

2024-01-15 19:28:06 UTC MAIN commitmail json YAML

No need for our own spurious interrupt handler now that m68k_intr.c
handles them for us.

(thorpej)

2024-01-15 19:27:16 UTC MAIN commitmail json YAML

Insert a spurious interrupt handler at auto-vector IPL 0 that simply
abosrbs them.  They'll get counted during the normal course of auto-vector
interrupt handling.

(thorpej)

2024-01-15 19:11:31 UTC MAIN commitmail json YAML

2024-01-15 18:47:03 UTC MAIN commitmail json YAML

Provide a m68k_count_intr() macro that hides the details of how interrupts
are counted, and also ensures that ci_data.cpu_nintr is incremented.

(thorpej)

2024-01-15 18:15:37 UTC MAIN commitmail json YAML

Revert unintended commit (didn't hit CTRL-C fast enough I guess).

(thorpej)

2024-01-15 18:14:24 UTC MAIN commitmail json YAML

Provide an ev_count32 field for situations where a 32-bit counter is
sufficient (and, notably, might be desirable to avoid 64-bit math on
an older 32-bit platform).  This is overlaid on the 64-bit counter
field, and simply references the correct half based on byte order.

(thorpej)

2024-01-15 17:40:35 UTC MAIN commitmail json YAML

2024-01-15 17:12:00 UTC MAIN commitmail json YAML

Use evcnt to count interrupts for the non-__HAVE_LEGACY_INTRCNT case.

(thorpej)

2024-01-15 03:14:31 UTC MAIN commitmail json YAML

Guard references to protorp with M68030.

(thorpej)

2024-01-15 03:07:14 UTC MAIN commitmail json YAML

2024-01-15 02:40:52 UTC MAIN commitmail json YAML

2024-01-15 02:16:52 UTC MAIN commitmail json YAML

2024-01-15 02:13:16 UTC MAIN commitmail json YAML

Add the "ISR priority" notion that's used on some m68k platforms:

      /*
        * Some devices are particularly sensitive to interrupt
        * handling latency.  Unbuffered serial ports, for example,
        * can lose data if their interrupts aren't handled with
        * reasonable speed.  For this reason, we sort interrupt
        * handlers by an abstract "ISR" priority, inserting higher-
        * priority interrupts before lower-priority interrupts.
        */

(...within the same shared auto-vectored interrupt list.)

(thorpej)

2024-01-15 00:37:08 UTC MAIN commitmail json YAML

Wrap references to intrcnt[] in __HAVE_LEGACY_INTRCNT.

(thorpej)

2024-01-15 00:35:24 UTC MAIN commitmail json YAML

2024-01-15 00:25:16 UTC MAIN commitmail json YAML

Declare intrcnt as a u_int array, and add a missing m68k_ih_free() call
in m68k_intr_disestablish().

(thorpej)

2024-01-14 23:01:43 UTC MAIN commitmail json YAML

G/C isrlink_custom(); just use vec_set_entry() directly.

(thorpej)

2024-01-14 22:34:55 UTC MAIN commitmail json YAML

2024-01-14 22:32:32 UTC MAIN commitmail json YAML

2024-01-14 22:06:03 UTC MAIN commitmail json YAML

Provide a _splx() inline.

(thorpej)

2024-01-14 18:22:02 UTC MAIN commitmail json YAML

2024-01-14 17:51:16 UTC MAIN commitmail json YAML

Don't bother with isr_add_custom().  It's just a thin wrapper around
vec_set_entry(), so just use vec_set_entry() directly.

(thorpej)

2024-01-14 00:17:47 UTC MAIN commitmail json YAML

2024-01-14 00:00:58 UTC MAIN commitmail json YAML

Use NAUTOVECTORS and NUSERVECTORS constants from <m68k/vectors.h>

(thorpej)

2024-01-14 00:00:15 UTC MAIN commitmail json YAML

Provide NAUTOVECTORS and NUSERVECTORS constants.

(thorpej)

2024-01-13 23:59:47 UTC MAIN commitmail json YAML

2024-01-13 21:40:54 UTC MAIN commitmail json YAML

2024-01-13 20:18:47 UTC MAIN commitmail json YAML

2024-01-13 20:10:36 UTC MAIN commitmail json YAML

2024-01-13 19:20:26 UTC MAIN commitmail json YAML

2024-01-13 18:51:39 UTC MAIN commitmail json YAML

2024-01-13 18:42:11 UTC MAIN commitmail json YAML

Provide some vector table override hooks and interfaces needed by the
sun68k platforms.

(thorpej)

2024-01-13 18:40:12 UTC MAIN commitmail json YAML

Add buserr2030 and addrerr2030 aliases to busaddrerr2030.

(thorpej)

2024-01-13 17:10:58 UTC MAIN commitmail json YAML

2024-01-13 17:10:03 UTC MAIN commitmail json YAML

Add a common vector table implementation for m68k platforms.

(thorpej)

2024-01-13 17:07:26 UTC MAIN commitmail json YAML

G/C some unused definitions.

(thorpej)

2024-01-13 00:44:42 UTC MAIN commitmail json YAML

2024-01-13 00:43:31 UTC MAIN commitmail json YAML

2024-01-13 00:21:51 UTC MAIN commitmail json YAML

2024-01-12 23:46:53 UTC MAIN commitmail json YAML

2024-01-12 23:36:30 UTC MAIN commitmail json YAML

2024-01-12 01:53:57 UTC MAIN commitmail json YAML

2024-01-09 14:24:08 UTC MAIN commitmail json YAML

Properly implement mm_md_physacc() and garbage-collect the now unused
"lowram" variable (hold-over from hp300 lineage).

(thorpej)

2024-01-09 07:28:27 UTC MAIN commitmail json YAML

2024-01-09 07:21:48 UTC MAIN commitmail json YAML

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.

(thorpej)

2024-01-09 04:16:27 UTC MAIN commitmail json YAML

2024-01-09 04:08:33 UTC MAIN commitmail json YAML

This platform does not have a loadustp() function.

(thorpej)

2024-01-08 05:11:54 UTC MAIN commitmail json YAML

Add PROCFS and MSDOSFS.

(thorpej)

2024-01-08 05:11:33 UTC MAIN commitmail json YAML

Use aprint_error() rather than a bare printf() in a few spots, and
an aprint_normal() in some others.

(thorpej)

2024-01-08 05:10:51 UTC MAIN commitmail json YAML

Accept "root=xxx" for the root device and "flags=xxx" as the boothowto
flags from the kernel command line arguments.

(thorpej)

2024-01-08 05:09:41 UTC MAIN commitmail json YAML

Add bootinfo_getarg(), which gets the name kernel command line argument
and returns its value (sort of like getenv()).

(thorpej)

2024-01-07 16:41:24 UTC MAIN commitmail json YAML

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.

(thorpej)

2024-01-07 00:58:11 UTC MAIN commitmail json YAML

2024-01-07 00:57:13 UTC MAIN commitmail json YAML

2024-01-06 21:49:59 UTC MAIN commitmail json YAML

Fix dump paste-o.  Halt works properly.  Reboot does reboot, but the
new kernel instance crashes early.

(thorpej)

2024-01-06 21:43:37 UTC MAIN commitmail json YAML

Fix stupid typo in cpu_set_reset_func().

(thorpej)

2024-01-06 21:40:41 UTC MAIN commitmail json YAML

Implement bootinfo_setup_rndseed().  Thx Riastradh@ for the suggestion.

(thorpej)

2024-01-06 17:52:43 UTC MAIN commitmail json YAML

Put some meat on the bones of the Goldfish TTY driver.  Works well enough
for sysinst.

(thorpej)

2024-01-06 17:32:41 UTC MAIN commitmail json YAML

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.

(thorpej)

2024-01-06 07:38:13 UTC MAIN commitmail json YAML

2024-01-06 07:35:39 UTC MAIN commitmail json YAML

2024-01-06 06:59:33 UTC MAIN commitmail json YAML

Perform VirtIO 1.0 feature negotation in the MMIO transport.  This is
required for HV's that have MMIO-v2 and don't support transitional devices.

(thorpej)

2024-01-03 12:46:12 UTC MAIN commitmail json YAML

G/C some bit defs that are redundant with mmu_{51,40}.h

(thorpej)

2024-01-03 12:43:43 UTC MAIN commitmail json YAML

get_physical(): Use bit defs from <m68k/mmu_40.h>

(thorpej)

2024-01-03 03:56:57 UTC MAIN commitmail json YAML

2024-01-03 03:56:36 UTC MAIN commitmail json YAML

Add virt68k to a list of machines in a comment.

(thorpej)

2024-01-03 03:18:31 UTC MAIN commitmail json YAML

Add virt68k headers.

(Why on earth is this a manual step!@#??)

(thorpej)

2024-01-03 02:59:00 UTC MAIN commitmail json YAML

Add mvme68k to MACHINES.m68k.

(thorpej)

2024-01-03 02:48:46 UTC MAIN commitmail json YAML

Add virt68k to valid_MACHINE_ARCH.

(thorpej)

2024-01-03 02:48:06 UTC MAIN commitmail json YAML

Add virt68k to MACHINES.m68k.

(thorpej)

2024-01-02 18:18:47 UTC MAIN commitmail json YAML

2024-01-02 18:11:44 UTC MAIN commitmail json YAML

Add a driver for the Qemu Virtual System Controller that can be used
to halt or reset the system.

(thorpej)

2024-01-02 18:10:36 UTC MAIN commitmail json YAML

Provide a mechanism for a system reset controller to register to be used
to reset/halt the system.

(thorpej)

2024-01-02 17:16:27 UTC MAIN commitmail json YAML

2024-01-02 17:13:03 UTC MAIN commitmail json YAML

Detect a RND seed passed in by the loader.
XXX We don't actually *do* anything with it yet.

(thorpej)

2024-01-02 16:59:14 UTC MAIN commitmail json YAML

2024-01-02 16:48:02 UTC MAIN commitmail json YAML

If the loader passed us a RAM disk, use it as the root file system.

(thorpej)

2024-01-02 07:52:47 UTC MAIN commitmail json YAML

Remove non-applicable comments.

(thorpej)

2024-01-02 07:48:46 UTC MAIN commitmail json YAML

2024-01-02 07:47:36 UTC MAIN commitmail json YAML

Comment out LOCKDEBUG.

(thorpej)

2024-01-02 07:46:49 UTC MAIN commitmail json YAML

Remove yet another remnant of debugging.

(thorpej)

2024-01-02 07:43:29 UTC MAIN commitmail json YAML

2024-01-02 07:42:52 UTC MAIN commitmail json YAML

2024-01-02 07:41:02 UTC MAIN commitmail json YAML

2024-01-02 07:34:27 UTC MAIN commitmail json YAML

Adapt to changes in the generic gfrtc code.

(thorpej)

2024-01-02 07:30:29 UTC MAIN commitmail json YAML

2024-01-02 07:29:39 UTC MAIN commitmail json YAML

Add support for the Goldfish virtual TTY.  This is only enough for
early console; the rest will come later.

(thorpej)

2024-01-02 07:27:51 UTC MAIN commitmail json YAML

Add support for the Goldfish virtual programmable interrupt controller.

(thorpej)

2024-01-02 07:26:17 UTC MAIN commitmail json YAML

Add support for the timer portion of the Goldfish RTC device.

(thorpej)

2024-01-02 07:24:50 UTC MAIN commitmail json YAML

- The VirtIO 1.0 spec says that the MMIO interface uses little-endian
  registers.  For some VMs, at least, this appears to be independent of
  the config/struct byte-order.  Detect this and handle it.
- Add support for the "v2" MMIO personality.

(thorpej)

2024-01-01 22:47:58 UTC MAIN commitmail json YAML

Define PTE used in the pmap module int terms of the bit definitions
in mmu_{51,40}.h.

(thorpej)

2023-12-31 22:06:41 UTC MAIN commitmail json YAML

gfrtc_settime(): Write the low half of the time valueinto the RTC_TIME_LOW
register, not the RTC_TIME_HIGH register.

(thorpej)

2023-12-31 21:59:24 UTC MAIN commitmail json YAML

Provide a vtophys() function like other platforms do, and implement
kvtop() (which will be g/c'd shortly) in terms of it.

(thorpej)

2023-12-30 23:07:42 UTC MAIN commitmail json YAML

pmap_bootstrap(): When initializing the L2 PTEs, don't use l2pte_index(),
as it is designed to wrap from 1023->0 during the normal course of use.
However, when setting up the initial kernel page tables, if we have a
large enough config that we end up with more than L2 PT page, we rely
on being able to index > 1023 into the adjacent PT pages to initialize
those entries.

Fixes a MM fault panic during early boot on larger memory configs
(reported by Dave McGuire with an 8GB ES40 and John Klos with a 12GB
DS25).  I've successfully booted at 16GB config in Qemu with this fix.

(thorpej)

2023-12-29 23:31:45 UTC MAIN commitmail json YAML

Re-factor the Goldfish RTC driver into attach-front-end and generic
back-end; Goldfish virtual devices can be found on virtual platforms
that don't use FDT.

(thorpej)

2023-12-28 15:33:12 UTC MAIN commitmail json YAML

Missed 2 68060-specific cases in previous.

(thorpej)

2023-12-28 01:33:06 UTC MAIN commitmail json YAML

Be more careful with the types used for PTEs.

(thorpej)

2023-12-27 19:47:00 UTC MAIN commitmail json YAML

Define the values for the 68040 TT registers in terms of the definitions in
<m68k/mmu_40.h> rather than using magic numbers.

(thorpej)

2023-12-27 19:26:30 UTC MAIN commitmail json YAML

2023-12-27 19:22:11 UTC MAIN commitmail json YAML

Add a header file for 68030-specific MMU definitions, specifically the
Transparent Translation registers, that do not exist on the 68851.  A
big comment at the top of the file describes the differences between
the 68851 and the 68030's MMU.

(thorpej)

2023-12-27 17:35:37 UTC MAIN commitmail json YAML

2023-12-27 16:20:39 UTC MAIN commitmail json YAML

2023-12-27 03:03:42 UTC MAIN commitmail json YAML

Stop using magic numbers for the MMU root pointer attributes and the
Translation Control register, and also get rid of "#if PGSHIFT == ..."
where those magic numbers are used.

Instead, define new macros: MMU51_SRP_BITS, MMU51_CRP_BITS, MMU51_TCR_BITS,
and MMU40_TCR_BITS, in terms of the definitions in mmu_{40,51}.h.  These
automagically adapt to 8K and 4K pages based on the machine-specific value
of PGSHIFT.

(thorpej)

2023-12-27 02:40:32 UTC MAIN commitmail json YAML

Add new headers that describe the 68851 (and 68030) MMU and
68040 (and 68060) MMU structures using names that more closely
align with Motorola's documentation.

The definitions here automagically adapt to 4K or 8K pages, based
on the value of PGSHIFT, which must be a compile-time constant.

(thorpej)

2023-12-26 17:48:38 UTC MAIN commitmail json YAML

Move active_pmap() and active_user_pmap() macros into pmap_motorola.c

(thorpej)

2023-12-26 17:42:43 UTC MAIN commitmail json YAML

- G/C the PMAP_ACTIVATE() macro, just call loadustp() directly.
- In pmap_activate(), rather than checking for an idle LWP and skipping
  the loadustp() in that case, just check if the pmap being activate is
  the kernel pmap.  Also, KASSERT() that the specified lwp is the current
  lwp.

(thorpej)

2023-12-26 02:38:28 UTC MAIN commitmail json YAML

2023-12-26 02:31:58 UTC MAIN commitmail json YAML

2023-12-25 21:32:58 UTC MAIN commitmail json YAML

loadustp(): Optimize for the overwhelmingly common case of "not the HP MMU".
Rather than converting the level 1 table address to a page number before
calling loadustp() only to have loadustp() convert it back to an address
for the '851, '030, '040, and '060, instead pass the address and convert
to a page number only in the case of the HP MMU.

This is a wash on HP MMU machines (9000/320 and 9000/350), and saves at
least 4 instructions (2x moveq + 2x lsXl) on every context switch on
everything else.

(thorpej)

2023-12-22 19:53:47 UTC MAIN commitmail json YAML

pv_link(): Seed pv_flags for the page with PG_MOD and PG_REF if
the caller pre-set those bits in the PTE (which pmap_enter() does,
based on hints from uvm_fault()), avoiding the slow path in
pmap_is_{referenced,modified}().

(thorpej)

2023-12-22 19:14:57 UTC MAIN commitmail json YAML

pmap_is_modified(): If we fall into the slow path and encounter a modified
page during PV list walk, set PG_M in the pvh_attrs to avoid falling into
the slow path again.

(thorpej)

2023-12-22 17:55:49 UTC MAIN commitmail json YAML

rmspace(): when a PT page is put back onto the free list, invalidate
it's VA in the TB.

rmptep(): Add a comment that the no TIBS is needed for newly-freed PT
pages here because all of the callers perform a TBIA.

(thorpej)

2023-12-20 15:34:46 UTC MAIN commitmail json YAML

2023-12-20 15:29:08 UTC MAIN commitmail json YAML