<!-- $FreeBSD: head/en_US.ISO8859-1/htdocs/news/status/report-sample.xml 45745 2014-10-08 01:13:27Z wblock $ -->

<!-- Please send your reports to: monthly@FreeBSD.org -->

<!-- Optional category tag.  -->
<!-- Tags include: proj, doc, kern, bin, arch, ports, vendor, misc, soc -->
  <project cat='arch'>
    <title>FreeBSD/arm64</title>

    <!-- Required section -->
    <contact>
      <person>
	<name>
	  <given>Andrew</given>
	  <common>Turner</common>
	</name>

	<email>andrew@FreeBSD.org</email>
      </person>

      <person>
	<name>
	  <given>Konstantin</given>
	  <common>Belousov</common>
	</name>

	<email>kib@FreeBSD.org</email>
      </person>

      <person>
	<name>
	  <given>Ed</given>
	  <common>Maste</common>
	</name>

	<email>emaste@FreeBSD.org</email>
      </person>

      <person>
	<name>
	  <given>Ed</given>
	  <common>Schouten</common>
	</name>

	<email>ed@FreeBSD.org</email>
      </person>
    </contact>

    <!-- Optional section but highly encouraged. -->
    <links>
      <!-- A hypertext link with a description... -->
      <url href="https://wiki.freebsd.org/arm64">FreeBSD arm64 wiki entry</url>
    </links>

    <!-- Required section. -->
    <body>
      <!-- Do not worry if you are not a native English speaker. -->
      <!-- Ok -->
      <p>Support was added for kernel modules. This included adding the needed
        relocation types to the in-kernel relocator, and update the build
        logic to build modules for arm64. CTF data is not generated for modules
        due to a linker bug.</p>

      <p>Shared page support was added. This allows gettimeofday(2) to be
        implemented in userland by directly accessing the timer register.
        This reduces the overhead of these calls as we no longer need to call
        into the kernel. This also moves the signal trampoline code away
        from the stack allowing for the stack to become non-executable.<p>

      <p>CloudABI support for arm64 was added. This included moving the
        Machine Independent code into a separate file to be shared between
        all architectures. An issue in the arm64 kernel were found and
        fixed thanks to the CloudABI test suite.</p>

      <p>Self-hosted poudriere package builds have been tested. These have
        complemented previous build using qemu usermode emulation. With this
        combination of self-hosted and qemu usermode building many broken
        packages have been fixed resulting in over 17000 ports building.</p>

      <p>The machine dependent kernel support for single-stepping userland
        has been started. This allows debuggers, such as lldb, to step through
        an application while debugging.<p>

      <p>Many small fixes have been made to FreeBSD. These include: fixing
        stack tracing through exceptions, print more information on data
        abort panics, cleanups of atomic functions, support for multi-pass
        driver attachment, fix userland stack alignment, cleanup early
        pagetable creation, fix asynchronous software trap handling,
        and enable interrupts in exception handlers were needed.</p>
    </body>

    <sponsor>The FreeBSD Foundation</sponsor>

    <sponsor>ABT Systems Ltd</sponsor>

  </project>
