Page MenuHomeFreeBSD

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

Authored by seuros on Sat, Aug 29, 3:05 PM.
Referenced Files
Unknown Object (File)
Sat, Sep 19, 8:24 PM
Unknown Object (File)
Sat, Sep 19, 1:14 PM
Unknown Object (File)
Fri, Sep 18, 4:28 PM
Unknown Object (File)
Fri, Sep 18, 6:18 AM
Unknown Object (File)
Thu, Sep 17, 9:37 PM
Unknown Object (File)
Wed, Sep 16, 12:33 PM
Unknown Object (File)
Mon, Sep 14, 11:41 AM
Unknown Object (File)
Sat, Sep 12, 12:12 PM

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