Page MenuHomeFreeBSD

vt_simplefb: support armv7 and U-Boot-placed framebuffer nodes
Needs ReviewPublic

Authored by seuros on Aug 29 2026, 3:05 PM.
Referenced Files
Unknown Object (File)
Wed, Oct 14, 11:15 PM
Unknown Object (File)
Sun, Oct 11, 9:21 AM
Unknown Object (File)
Sat, Oct 10, 3:05 PM
Unknown Object (File)
Thu, Oct 8, 4:53 AM
Unknown Object (File)
Wed, Oct 7, 11:06 PM
Unknown Object (File)
Wed, Oct 7, 10:35 PM
Unknown Object (File)
Tue, Oct 6, 4:32 AM
Unknown Object (File)
Fri, Oct 2, 8:41 AM

Details

Reviewers
andrew
Group Reviewers
ARM
Summary

Search for simple-framebuffer nodes under both /chosen and the root,
as U-Boot may place them there, and skip disabled nodes.

Honor memory-region, fix address handling on 32-bit arm, and use the
pmap_preboot API for framebuffer mappings before pmap_bootstrap().

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 76318
Build 73201: arc lint + arc unit

Event Timeline

sys/arm/arm/machdep.c
118

@imp , i saw that in some place we started to use booleans.

sys/dev/vt/hw/simplefb/simplefb.c
153

I'm afraid not "/chosen" means it is not ready, in most cases. Or at least unwanted.

I'm not thrilled with this solution.
The standard pre-pmap_bootstrap() KVA is 128 MB, including:

  • kernel text/data/bss (section-mapped from KERNBASE);
  • early page tables (kern_pt1, kern_pt2tab and initial L2 pages);
  • whatever initarm() takes (dpcpu, stacks, msgbuf, etc.).

So there are only tens of megabytes of free KVA for the framebuffer.

Another thing: Wouldn't it be much cleaner to extend the implementation of pmap_mapdev_attr() for early boot phase of armv7? subr_devmap.c looks ready for this job.

Another thing: Wouldn't it be much cleaner to extend the implementation of pmap_mapdev_attr() for early boot phase of armv7? subr_devmap.c looks ready for this job.

should we even pull in kib@ or someone else to talk about the kvm layout and pmap stuff?

-a