Großes Update für FreeBSD/ARM

Yamagi

Possessed With Psi Powers
Teammitglied
In den letzten Monaten wurde FreeBSDs bisher eher mittelmäßige ARM-Unterstützung in einem separatem Zweig mit dem Namen "armv6" deutlich verbessert. Dieser Zweig ist heute Nacht in 10-CURRENT eingeflossen. Damit erhält FreeBSD/ARM eine ganze Reihe bisher vermisster Funktionen:
- ARMv6 und ARMv7 Kerne werden nun unterstützt.
- ARM erhält Unterstützung für SMP, es können also Multicore-SOC genutzt werden.
- Deutlich verbesserter Bootcode, der Startup-Probleme lösen soll.
- Unterstützung für den Generic Interrupt Controller, dies vereinfach das Portieren von FreeBSD/ARM auf neue SOC deutlich.
- Thread Local Storage wird nun unterstützt.

Hinzu kommt Unterstützung für diverse neue SOC-Familien:
- ARMADA XP
- LPC32x0
- Nvidia Tegra 2 (nur grundlegende Unterstützung)
- AM335x
- OMAP4

All dies sind sehr umfangreiche Änderungen, die sicher auch den einen oder anderen neuen Fehler einbauen. Den Code zu Testen ist daher ausdrücklich gewünscht. Diese Änderungen sind die Arbeit vieler Committer und Firmen, die sich daran beteiligt haben. Die SVN-Revisionen der Commits sind r239268 bis r239281.
 
Naja wenn FreeBSD wieder auf den DockStars ohne USB Probleme laufen würde wäre das schön, aber dieser Patch scheint sich nur auf neuere SoCs zu beziehen in sofern wäre wohl eher angebracht mal zu gucken ob ich nen BeagleBoard xM ans laufen kriegen kann.
 
Und noch einmal von den Entwicklern:
Code:
Hello,

projects/armv6 branch was merged to HEAD and should be considered 
dead now. This patch is a result of a joint effort by many 
people. Including but not limited to:

  Grzegorz Bernacki (gber@)
  Aleksander Dutkowski
  Ben R. Gray (bgray@)
  Olivier Houchard (cognet@)
  Rafal Jaworowski (raj@) and Semihalf team 
  Tim Kientzle (kientzle@)
  Jakub Wojciech Klama (jceel@)
  Ian Lepore
  Warner Losh (imp@)
  Damjan Marion (dmarion@)
  Lukasz Plachno
  Stanislav Sedov (stas@)
  Mark Tinguely 
  Andrew Turner (andrew@)

Thanks to all, who contributed by submitting code, 
testing and giving valuable advices.

Code drop includes following parts:

- General ARMv6/ARMv7 kernel bits (pmap, cache, 
    assembler routines, etc...)
- ARM SMP support
- VFP/Neon support
- ARM Generic Interrupt Controller driver
- Improved thread-local storage for cpus >=ARMv6
- Two new values for TARGET_ARCH: armv6 and armv6eb
- Driver for SMSC LAN95XX and LAN8710A ethernet controllers
- Marvell MV78x60 support (multiuser, ARMADA XP kernel config) 
- TI OMAP4 and AM335x support (multiuser, no GPU or graphics 
    support, kernel configs for Pandaboard and Beaglebone)
- LPC32x0 support (multiuser, frame buffer works with SSD1289 
    LCD controller.Embedded Artists EA3250 kernel config)
- Barebone Nvidia Tegra2 support (timers, interrupts and UART. 
    No kernel config)

Hope now that the code is in trunk it will get more attention 
and love from developers. 

Happy hacking

-- 
gonzo
 
Zurück
Oben