Age | Commit message (Collapse) | Author |
|
This happens on the new 14" and 16" Macbook Pro where we deliberately use
a framebuffer that skips the first few lines to avoid "the notch".
The offset of the first pixel is added to struct wsdisplay_fbinfo. The
stride is added as well, mirroring the value returned by the
WSDISPLAYIO_LINEBYTES ioctl, such that we can retire that one in the
future. A compat ioctl is implemented to help the transition. The compat
code will be removed after OpenBSD 7.3 has been released.
ok miod@
|
|
|
|
|
|
|
|
ok visa@ a long time ago, ok patrick@
|
|
|
|
|
|
ok drahn
|
|
based on include-what-you-use suggestions
|
|
|
|
The timecounter struct is large and I think it may change in the
future. Changing it later will be easier if we use C99-style
initialization for all timecounter structs. It also makes reading the
code a bit easier.
For reasons I cannot explain, switching to C99-style initialization
sometimes changes the hash of the resulting object file, even though
the resulting struct should be the same. So there is a binary change
here, but only sometimes. No behavior should change in either case.
I can't compile-test this everywhere but I have been staring at the
diff for days now and I'm relatively confident this will not break
compilation. Fingers crossed.
ok gnezdo@
|
|
ok tb@, deraadt@
|
|
|
|
a struct cpu_info *. From a driver point of view the fdt_intr_establish_*
API now also exist same functions with a *_cpu suffix. Internally the
"old" functions now call their *_cpu counterparts, passing NULL as ci.
NULL will be interpreted as primary CPU in the interrupt controller code.
The internal framework for interrupt controllers has been changed so that
the establish methods provided by an interrupt controller function always
takes a struct cpu_info *.
Some drivers, like imxgpio(4) and rkgpio(4), only have a single interrupt
line for multiple pins. On those we simply disallow trying to establish
an interrupt on a non-primary CPU, returning NULL.
Since we do not have MP yet on armv7, all armv7 interrupt controllers do
return NULL if an attempt is made to establish an interrupt on a different
CPU. That said, so far there's no way this can happen. If we ever gain
MP support, this is a reminder that the interrupt controller drivers have
to be adjusted.
Prompted by dlg@
ok kettenis@
|
|
Checked against
* ARM Architecture Reference Manual (agtimer)
* ARM Cortex-A9 MPCore Technical Reference Manual (amptimer)
* OMAP35x Applications Processor Technical Reference Manual (gptimer)
Artturi Alm had independently suggested this in the past.
|
|
ok dlg@ tobhe@
|
|
"new" API.
ok dlg@ tobhe@
|
|
This diff exposes parts of clock_gettime(2) and gettimeofday(2) to
userland via libc eliberating processes from the need for a context
switch everytime they want to count the passage of time.
If a timecounter clock can be exposed to userland than it needs to set
its tc_user member to a non-zero value. Tested with one or multiple
counters per architecture.
The timing data is shared through a pointer found in the new ELF
auxiliary vector AUX_openbsd_timekeep containing timehands information
that is frequently updated by the kernel.
Timing differences between the last kernel update and the current time
are adjusted in userland by the tc_get_timecount() function inside the
MD usertc.c file.
This permits a much more responsive environment, quite visible in
browsers, office programs and gaming (apparently one is are able to fly
in Minecraft now).
Tested by robert@, sthen@, naddy@, kmos@, phessler@, and many others!
OK from at least kettenis@, cheloha@, naddy@, sthen@
|
|
|
|
ok kettenis@
|
|
conversion steps). it only contains kernel prototypes for 4 interfaces,
all of which legitimately belong in sys/systm.h, which are already included
by all enqueue_randomness() users.
|
|
miod explained it was initially a long as it was thought drivers may
need to allocate storage but in practice they don't need more than
32 bits for an attribute.
suggested and reviewed by miod@
|
|
Suggested by John Carmack. miod agrees a rename would make sense and
explained it was initially thought drivers may need to allocate storage
but in practice they don't need more than 32 bits for an attribute.
ok mpi@
|
|
ok kettenis@
|
|
structure that is used in current mainline Linux device trees.
ok jsg@
|
|
ok jsg@
|
|
ok jsg@
|
|
ok jsg@
|
|
ok jsg@
|
|
Add code to enable the clock which is present in new device trees.
ok jsg@
|
|
ok jsg@
|
|
|
|
property; it contains on offset in the parent's address space instead.
Since the driver needs the address of the CPPI RAM to program the
descriptors, use bus_space_vaddr(9) and pmap_extract(9) to get it.
ok jsg@
|
|
generic pinctrl(4) driver and intc(4) now attaches using the device
tree.
ok jsg@
|
|
Do not include <sys/kthread.h> where it is not needed and stop including
<sys/proc.h> in it.
ok visa@, anton@
|
|
in ticks was meant to be in msecs.
Pointed out by and ok patrick@
|
|
seconds and use tsleep_nsec(9).
ok patrick@
|
|
|
|
added IPI support on armv7.
|
|
Pointed out by Jerome Pinot
|
|
Pointed out by Jerome Pinot
|
|
|
|
is now found via phy-handle instead of phy_id.
|
|
With and ok jsg@
|
|
|
|
ok krw@ mpi@
|
|
Previously the device tree only described one but now it describes both.
Do not attempt to set the global variable that points to a softc or
register a watchdog if this has already been done.
Fixes rebooting on the OMAP4 based PandaBoard-ES with a device tree from
linux 4.15-rc1.
|
|
Rework the code to store the relevant information in the softc. As a bonus,
this reduces the stack space that is used such that this file compiles with
clang.
ok ians@
|
|
ok ians@
|
|
a -Wtautological-pointer-compare warning.
ok ians@
|