GENERIC kernel issues
Tim Kientzle
kientzle at freebsd.org
Sun Mar 3 19:43:31 UTC 2013
I spent some time yesterday putting together a kernel
configuration for a GENERIC ARM kernel that would
support both RaspberryPi and BeagleBone.
Just to see how far I could get.
Here's a list of the problems I've found so far:
** Multiple MMU support. If you put these two lines into an
ARM kernel config, the build will fail in the MMU code:
cpu CPU_ARM1176
cpu CPU_CORTEXA
Basically, this turns on the support for multiple MMUs but the
ARMv6/ARMv7 MMU definitions don't play nicely with run-time
MMU selection.
** PHYSADDR/KERNPHYSADDR hardwiring. Ian has made a
lot of progress and I'm working on some related changes to
address this. I think we understand how to eliminate these
constants and replace them with run-time detection of the
load address. I'm still not sure what changes might be needed
to the loader to make this work.
** PIPT vs. VIVT cache management. This is currently set at compile
time; we'll need to have a way to set this at run time based on the
CPU. (I have some skeletal code to select CPU at the top of
initarm by inspecting the FDT. I presume this switch will be routine
once a robust version of that is in place.)
** TI processor detection. This is currently hardwired at build time,
so we cannot currently build a kernel that supports both AM335x
and OMAP4, for example.
Question: should we create a /projects/arm-generic/ branch
to hold this work while it's in flux?
Tim
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 495 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20130303/914ac9db/attachment.sig>
More information about the freebsd-arm
mailing list