Add arm64 status report submitted by andrew@FreeBSD.org.
Reviewed by: wblock Sponsored by: iXsystems
This commit is contained in:
parent
ccaeb56930
commit
0697c98f99
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=49105
1 changed files with 85 additions and 0 deletions
|
|
@ -1886,4 +1886,89 @@
|
|||
meeting to discuss various items.</p>
|
||||
</body>
|
||||
</project>
|
||||
|
||||
<project cat='arch'>
|
||||
<title>FreeBSD/arm64</title>
|
||||
|
||||
<contact>
|
||||
<person>
|
||||
<name>
|
||||
<given>Andrew</given>
|
||||
<common>Turner</common>
|
||||
</name>
|
||||
<email>andrew@FreeBSD.org</email>
|
||||
</person>
|
||||
</contact>
|
||||
|
||||
<links>
|
||||
<url href="https://wiki.freebsd.org/arm64">FreeBSD arm64 Wiki Entry</url>
|
||||
</links>
|
||||
|
||||
<body>
|
||||
<p>The <tt>arm64 pmap</tt> code has been updated to work with
|
||||
the full 4 pagetable levels. This allows us to increase the
|
||||
user virtual address space to 256TB, with an increase of the
|
||||
kernel virtual address space. It also allows an increase in
|
||||
the size of the physical memory &os; can handle to up to
|
||||
2TB.</p>
|
||||
|
||||
<p>The interrupt framework has been replaced with
|
||||
<tt>intrng</tt> on <tt>arm64</tt>. This allows both
|
||||
<tt>arm</tt> and <tt>arm64</tt> to share interrupt controller
|
||||
drivers, as is the case with the <tt>GICv2</tt> driver. The
|
||||
<tt>GICv3 ITS</tt> driver has been rewritten to better
|
||||
integrate with <tt>intrng</tt>.</p>
|
||||
|
||||
<p>Busdma was updated to handle the cache. The updated code
|
||||
assumes the device is non-coherent by default, unless the
|
||||
device driver marks the DMA tag as coherent when creating it.
|
||||
The generic and ThunderX PCIe drivers have been updated to
|
||||
create coherent mappings when the device tree marks the
|
||||
hardware as coherent. This work also fixed issues found with
|
||||
the sync operation where it was missing memory barriers.</p>
|
||||
|
||||
<p>A number of issues with <tt>hwpmc</tt> have been fixed. This
|
||||
improves the stability of <tt>hwpmc</tt> on <tt>arm64</tt>
|
||||
with no known software issues. There is a single known issue
|
||||
which seems to be hardware-related, however further testing is
|
||||
required.</p>
|
||||
|
||||
<p><tt>NEW_PCIB</tt> has been enabled on <tt>arm64</tt>. This
|
||||
includes handling the <tt>PCI_RES_BUS</tt> resource type.</p>
|
||||
|
||||
<p>Old interfaces replaced before 11 have been removed from the
|
||||
<tt>arm64</tt> kernel and libraries. This includes support
|
||||
for compatibility with <tt>libc</tt> from releases prior to
|
||||
11. The <tt>brk</tt> and <tt>sbrk</tt> functions have also
|
||||
been removed. This allows a workaround for these functions in
|
||||
the <tt>arm64</tt> C runtime to be removed.</p>
|
||||
|
||||
<p><tt>loader.efi</tt> has been updated to use an event timer to
|
||||
implement its internal time function. This is needed as many
|
||||
UEFI implementations do not handle The <tt>GetTime</tt>
|
||||
runtime service method. This means <tt>loader.efi</tt> will
|
||||
now correctly count down before automatically booting.</p>
|
||||
|
||||
<p>Initial support for the ARM Juno reference platform has been
|
||||
added. This hardware is common within ARM, and has been
|
||||
useful for finding assumptions on cpuids. Booting on the Juno
|
||||
required fixing the kernel to remove the assumption it is
|
||||
booting from CPU zero. This included assigning cpuids and
|
||||
fixing assumptions within the <tt>GICv2</tt> driver that the
|
||||
cpuid is the same as the <tt>GIC</tt> cpuid. &os; can now
|
||||
boot on the 4 Cortex-A53 CPUs. Further investigation is
|
||||
needed to track down why the boot fails when the 2 Cortex-A57
|
||||
CPUs are enabled.</p>
|
||||
|
||||
<p>Initial work has started on booting &os; on the Pine64 and
|
||||
Raspberry Pi 3 boards. Both can boot to multiuser mode with
|
||||
out-of-tree patches. Further work is needed to bring these
|
||||
patches into the tree, but it is expected this will happen
|
||||
soon after the end of the code freeze.</p>
|
||||
</body>
|
||||
|
||||
<sponsor>The FreeBSD Foundation</sponsor>
|
||||
|
||||
<sponsor>ABT Systems Ltd</sponsor>
|
||||
</project>
|
||||
</report>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue