History log of /openbsd/sys/dev/ofw/fdt.c (Results 1 – 25 of 35)
Revision Date Author Comments
# 3fe5dae2 27-Mar-2024 kettenis <kettenis@openbsd.org>

Fix fdt_find_node(). We should make sure we match the full name when
matching path components (but we do allow matches with the @unit bit).

This fixes a problem on the Milk-V Pioneer where /soc/ser

Fix fdt_find_node(). We should make sure we match the full name when
matching path components (but we do allow matches with the @unit bit).

This fixes a problem on the Milk-V Pioneer where /soc/serial@123456
accidentally match a /socket0-clocks node and we would fail to find the
serial console.

ok miod@

show more ...


# b244cb8b 26-Apr-2023 kettenis <kettenis@openbsd.org>

Fix my email address.


# e807a99b 19-Sep-2022 patrick <patrick@openbsd.org>

Change OF_getnodebyname() such that looking up a node using just the name
without a unit number (so without the @1234 bit) works as well.

This is a re-commit of the backed out change with the endles

Change OF_getnodebyname() such that looking up a node using just the name
without a unit number (so without the @1234 bit) works as well.

This is a re-commit of the backed out change with the endless loop fixed.

show more ...


# 4f49b3e3 18-Sep-2022 mpi <mpi@openbsd.org>

Revert previous it prevents the PinebookPro and the Rockpro64 to reach userland.

Found by kn@ and myself, ok deraadt@


# a4fa6876 11-Sep-2022 kettenis <kettenis@openbsd.org>

Change OF_getnodebyname() such that lokking up a node using just the name
without a unit number (so without the @1234 bit) works as well.

ok patrick@, gkoehler@


# 5fece840 21-Aug-2022 jasper <jasper@openbsd.org>

prevent buffer overflow in OF_getpropint64array()
just like -r1.28 did for OF_getpropintarray()

ok kettenis@


# 3685e9f5 06-Aug-2022 kettenis <kettenis@openbsd.org>

Prevent buffer overflow in OF_getpropintarray().

ok jsg@


# 4b1a56af 09-Jan-2022 jsg <jsg@openbsd.org>

spelling
feedback and ok tb@ jmc@ ok ratchov@


# 3ff54624 06-May-2021 kettenis <kettenis@openbsd.org>

Add OF_getpropbool(9).

ok visa@


# 196daab3 30-Dec-2020 gkoehler <gkoehler@openbsd.org>

Enter power-saving mode on POWER9 (ISA v3)

When opal(4) attaches, look in the device tree for a psscr value. In
cpu_idle_cycle(), use this psscr value and the stop instruction to
wait for the next

Enter power-saving mode on POWER9 (ISA v3)

When opal(4) attaches, look in the device tree for a psscr value. In
cpu_idle_cycle(), use this psscr value and the stop instruction to
wait for the next interrupt. In mp kernels, cpu_unidle() now sends an
interrupt. In "sysctl hw.sensors", the power and temperature sensors
from opalsens(4) may show lower values.

The cpu may exit stop at the system reset vector after losing user
registers. If so, restore some registers. For now, ignore deeper
stop states that would lose hypervisor registers.

Our mp kernel uses only the first hardware thread of each core. Take
the extra threads from the firmware and stop them forever; this may
switch the core from SMT4 to single-thread mode and increase
performance.

partly by kettenis@, ok kettenis@

show more ...


# 1a409cc7 18-Jul-2020 kettenis <kettenis@openbsd.org>

Add functions to set/add properties on an FDT node.

ok visa@


# 44d8669d 06-Jul-2020 kettenis <kettenis@openbsd.org>

IEEE1275 (Open Firmware) defines that parameter name strings can have a
length of up to 31 characters. This limit is also present in the
flattened device tree specification/ Unfortunately this limi

IEEE1275 (Open Firmware) defines that parameter name strings can have a
length of up to 31 characters. This limit is also present in the
flattened device tree specification/ Unfortunately this limit isn't enforced
by the tooling and there are systems in the wild that use longer strings.
This includes the device trees used on POWER9 systems and has been seen
on some ARM systems as well.

So bump the buffer size from 32 bytes (31 + terminating NUL) to 64 bytes.
Centrally define OFMAXPARAM to this value (in <dev/ofw/openfirm.h>)
replacing the various OPROMMAXPARAM definition scattered around the tree
to make sure the FDT implementation of OF_nextprop() uses the same
buffer size as its consumers.

Eliminate the static buffer in various openprom(4) implementations on
FDT systems.

Makes it possible to dump the full device tree on POWER9 systems using
eeprom -p.

ok deraadt@, visa@

show more ...


# 598f9116 10-Aug-2019 kettenis <kettenis@openbsd.org>

Make sure fdt_get_reg() looks beyond its parent to establish the correct
#address-cells and #size-cells for the bus it sits on. This makes sure
the glass console works since the framebuffer shows up

Make sure fdt_get_reg() looks beyond its parent to establish the correct
#address-cells and #size-cells for the bus it sits on. This makes sure
the glass console works since the framebuffer shows up as a child of
/chosen which typically doesn't have these properties. This makes us
look at the root node instead.

ok patrick@

show more ...


# 2e72ff40 27-Dec-2017 kettenis <kettenis@openbsd.org>

Implement OF_getpropint64().

ok jca@, tom@, patrick@, visa@


# ba897569 17-Nov-2017 kettenis <kettenis@openbsd.org>

Make OF_getnodebyname() scan its child nodes instead of its peer nodes.

This still deviates from the implementation we have on macppc, but we only
ever use OF_getnodebyname() to find child nodes in

Make OF_getnodebyname() scan its child nodes instead of its peer nodes.

This still deviates from the implementation we have on macppc, but we only
ever use OF_getnodebyname() to find child nodes in our tree.

ok tom@, visa@

show more ...


# 50946bcb 12-Mar-2017 kettenis <kettenis@openbsd.org>

Introduce OF_getindex() API and use it to replace multiple instances of
pretty much identical code.

ok visa@


# 437a9cea 23-Aug-2016 kettenis <kettenis@openbsd.org>

Actually make fdt_find_node() return NULL if the node couldn't be found.

ok tom@


# b7952965 26-Jul-2016 patrick <patrick@openbsd.org>

Rename struct fdt_memory to fdt_reg to match the member name
used in the fdt attach args and the device tree.

ok kettenis@


# d0cd2b3a 09-Jul-2016 kettenis <kettenis@openbsd.org>

Add interfaces to look up a device tree node by phandle.

ok patrick@, jsg@, visa@


# ed9c5852 08-Jul-2016 kettenis <kettenis@openbsd.org>

Fix check for "name" property. Restores synthesised "name" proprties in
eeprom -p output that were lost in revision 1.13.


# 808eccca 29-Jun-2016 visa <visa@openbsd.org>

Make the fdt parser skip nop tokens. This is needed on some
octeon boards.

Feedback and ok kettenis@


# 72a32a39 14-Jun-2016 kettenis <kettenis@openbsd.org>

Make sure OF_getprop() returns the proper length for a synthesised "name"
property.

From Tom Cosgrove.


# 95ccb12b 14-Jun-2016 kettenis <kettenis@openbsd.org>

Make fdt_node_property() return -1 if the requested property can't be found
such that we can distinguish between non-existing properties and zero-length
properties. This brings the FDT code in line

Make fdt_node_property() return -1 if the requested property can't be found
such that we can distinguish between non-existing properties and zero-length
properties. This brings the FDT code in line with the real OFW
implementations.

ok jsg@

show more ...


# bf5fea1e 12-Jun-2016 kettenis <kettenis@openbsd.org>

Add OF_getpropint() and OF_getpropintarray().

ok visa@, jsg@


# 557e6971 08-Jun-2016 jsg <jsg@openbsd.org>

Use fdt to find the console to initialise. Try to use /chosen/stdout-path
if present otherwise fallback to /aliases/serial0.

Don't require a platform match to run the various console init functions

Use fdt to find the console to initialise. Try to use /chosen/stdout-path
if present otherwise fallback to /aliases/serial0.

Don't require a platform match to run the various console init functions
so the init functions will run for unknown board ids.

With and ok kettenis@ on a earlier version.

show more ...


12