Skip to content

footgun: possible to build in the config for the wrong dtb nodeΒ #12

@midnightveil

Description

@midnightveil

If the SERIAL_DRIVER_DIR is specified to a driver which is not the one in the meta.py file there is no checking that this is the case; and the config.json of the meta.py is used for the wrong driver.

For instance:

    Board(
        name="qemu_virt_riscv64",
        arch=SystemDescription.Arch.RISCV64,
        paddr_top=0xa0000000,
        serial="soc/virtio_mmio@10008000"
    ),

But if in our make files we specify DRIVER_DIR := snps instead, this compiles fun. (though at runtime due to luck it fails because the num regions differs between).

It would be nice if it somehow knew that the config.json inside the DRIVER_DIR (which it parses) didn't match the selected serial dtb node.

This is mostly masked by the fact that most boards won't have multiple valid kinds of serial drivers; the RISCV QEMU case is a bit special as we add a MMIO virtio-console and it has already an ns16550a.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions