Whitespace-only fixes, translators please ignore.
This commit is contained in:
parent
6277bc7876
commit
381104455f
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=48663
1 changed files with 118 additions and 101 deletions
|
@ -375,15 +375,25 @@
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>I2C</li>
|
<li>I2C</li>
|
||||||
|
|
||||||
<li>HDMI output</li>
|
<li>HDMI output</li>
|
||||||
|
|
||||||
<li>Basic AXP209 support (Power Management Unit)</li>
|
<li>Basic AXP209 support (Power Management Unit)</li>
|
||||||
|
|
||||||
<li>Switch to upstream DTS for most boards</li>
|
<li>Switch to upstream DTS for most boards</li>
|
||||||
|
|
||||||
<li>Basic Support for A31/A31S SoC</li>
|
<li>Basic Support for A31/A31S SoC</li>
|
||||||
|
|
||||||
<li>RTC</li>
|
<li>RTC</li>
|
||||||
|
|
||||||
<li>Proper Pinmux/GPIO support</li>
|
<li>Proper Pinmux/GPIO support</li>
|
||||||
|
|
||||||
<li>Audio Codec / Audio HDMI</li>
|
<li>Audio Codec / Audio HDMI</li>
|
||||||
|
|
||||||
<li>A10/A20 DMA support</li>
|
<li>A10/A20 DMA support</li>
|
||||||
|
|
||||||
<li>A20 now uses the GIC (General Interrupt Controller)</li>
|
<li>A20 now uses the GIC (General Interrupt Controller)</li>
|
||||||
|
|
||||||
<li>A20 now uses the ARM Generic Timer</li>
|
<li>A20 now uses the ARM Generic Timer</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
@ -696,15 +706,15 @@
|
||||||
previous quarter, the team remained busy and work on KDE
|
previous quarter, the team remained busy and work on KDE
|
||||||
Frameworks 5 and Plasma 5 continues.</p>
|
Frameworks 5 and Plasma 5 continues.</p>
|
||||||
|
|
||||||
<p>Tobias Berner, who has been driving our KDE
|
<p>Tobias Berner, who has been driving our KDE Frameworks 5 and
|
||||||
Frameworks 5 and Plasma 5 efforts from the beginning, received
|
Plasma 5 efforts from the beginning, received a KDE commit
|
||||||
a KDE commit bit, and has been putting it to good use by
|
bit, and has been putting it to good use by upstreaming
|
||||||
upstreaming FreeBSD across several KDE repositories. Another
|
FreeBSD across several KDE repositories. Another team
|
||||||
team highlight in the beginning of this year is the
|
highlight in the beginning of this year is the (re)addition of
|
||||||
(re)addition of another committer to our experimental
|
another committer to our experimental repository: Adriaan de
|
||||||
repository: Adriaan de Groot, a longtime KDE contributor who
|
Groot, a longtime KDE contributor who also used to work on KDE
|
||||||
also used to work on KDE and FreeBSD almost a decade ago when
|
and FreeBSD almost a decade ago when our team was first
|
||||||
our team was first formed. Welcome back, Ade!</p>
|
formed. Welcome back, Ade!</p>
|
||||||
|
|
||||||
<p>The following big updates were landed in the ports tree this
|
<p>The following big updates were landed in the ports tree this
|
||||||
quarter. In many cases, we have also contributed patches to
|
quarter. In many cases, we have also contributed patches to
|
||||||
|
@ -770,15 +780,16 @@
|
||||||
</contact>
|
</contact>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<p>POSIX specifies several kinds of <tt>pthread</tt> locks. For this
|
<p>POSIX specifies several kinds of <tt>pthread</tt> locks. For
|
||||||
report, the private and process-shared variants are considered.
|
this report, the private and process-shared variants are
|
||||||
Private locks can be used only by the threads of the same
|
considered. Private locks can be used only by the threads of
|
||||||
process, which share the address space. Process-shared locks
|
the same process, which share the address space.
|
||||||
can be used by threads from any process, assuming the process
|
Process-shared locks can be used by threads from any process,
|
||||||
can map the lock memory into its address space.</p>
|
assuming the process can map the lock memory into its address
|
||||||
|
space.</p>
|
||||||
|
|
||||||
<p>Our <tt>libthr</tt>, the library implementing the POSIX threads and
|
<p>Our <tt>libthr</tt>, the library implementing the POSIX
|
||||||
locking operations, uses a pointer as the internal
|
threads and locking operations, uses a pointer as the internal
|
||||||
representation behind a lock. The pointer contains the
|
representation behind a lock. The pointer contains the
|
||||||
address of the actual structure carrying the lock. This has
|
address of the actual structure carrying the lock. This has
|
||||||
unfortunate consequences for implementing the
|
unfortunate consequences for implementing the
|
||||||
|
@ -787,11 +798,11 @@
|
||||||
distinct address spaces.</p>
|
distinct address spaces.</p>
|
||||||
|
|
||||||
<p>A common opinion was that we have no choice but to break the
|
<p>A common opinion was that we have no choice but to break the
|
||||||
<tt>libthr</tt> Application Binary Interface (ABI) by changing the lock
|
<tt>libthr</tt> Application Binary Interface (ABI) by changing
|
||||||
types to be the actual lock structures (and padding for future
|
the lock types to be the actual lock structures (and padding
|
||||||
ABI extension). This is very painful for users, as our
|
for future ABI extension). This is very painful for users, as
|
||||||
previous experience with non-versioned <tt>libc</tt> and <tt>libc_r</tt>
|
our previous experience with non-versioned <tt>libc</tt> and
|
||||||
has shown.</p>
|
<tt>libc_r</tt> has shown.</p>
|
||||||
|
|
||||||
<p>Instead, I proposed and implemented a scheme where
|
<p>Instead, I proposed and implemented a scheme where
|
||||||
process-shared locks can be implemented without breaking the
|
process-shared locks can be implemented without breaking the
|
||||||
|
@ -799,14 +810,14 @@
|
||||||
hash of the shared memory objects (off-pages), which carry the
|
hash of the shared memory objects (off-pages), which carry the
|
||||||
real lock structures.</p>
|
real lock structures.</p>
|
||||||
|
|
||||||
<p>New <tt>umtx</tt> operations to create or look up the shared object,
|
<p>New <tt>umtx</tt> operations to create or look up the shared
|
||||||
by the memory key were added. <tt>libthr</tt> is modified to look up
|
object, by the memory key were added. <tt>libthr</tt> is
|
||||||
the object and use it for shared locks, instead of using
|
modified to look up the object and use it for shared locks,
|
||||||
<tt>malloc()</tt> as for private locks.</p>
|
instead of using <tt>malloc()</tt> as for private locks.</p>
|
||||||
|
|
||||||
<p>The pointer value in the user-visible lock type contains a
|
<p>The pointer value in the user-visible lock type contains a
|
||||||
canary for shared locks. <tt>libthr</tt> detects the canary and
|
canary for shared locks. <tt>libthr</tt> detects the canary
|
||||||
switches into the shared-lock mode.</p>
|
and switches into the shared-lock mode.</p>
|
||||||
|
|
||||||
<p>The proposal of inlining the lock structures, besides the
|
<p>The proposal of inlining the lock structures, besides the
|
||||||
drawbacks of breaking ABI, has its merits. Most important,
|
drawbacks of breaking ABI, has its merits. Most important,
|
||||||
|
@ -820,11 +831,12 @@
|
||||||
existence for shared locks backed by files, however unlikely
|
existence for shared locks backed by files, however unlikely
|
||||||
they may be.</p>
|
they may be.</p>
|
||||||
|
|
||||||
<p><tt>libthr</tt> with inlined locks became informally known as the <tt>libthr2</tt>
|
<p><tt>libthr</tt> with inlined locks became informally known as
|
||||||
project, since it is better to change the library name than just
|
the <tt>libthr2</tt> project, since it is better to change the
|
||||||
bumping the library version. <tt>rtld</tt> should ensure that
|
library name than just bumping the library version.
|
||||||
<tt>libthr</tt> and <tt>libthr2</tt> are not simultaneously loaded into a
|
<tt>rtld</tt> should ensure that <tt>libthr</tt> and
|
||||||
single address space.</p>
|
<tt>libthr2</tt> are not simultaneously loaded into a single
|
||||||
|
address space.</p>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
<sponsor>The FreeBSD Foundation</sponsor>
|
<sponsor>The FreeBSD Foundation</sponsor>
|
||||||
|
@ -1607,7 +1619,8 @@
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<p>I wrote a small and straightforward yet feature-packed patch
|
<p>I wrote a small and straightforward yet feature-packed patch
|
||||||
to implement ASLR for &os; which is now available for broader testing.</p>
|
to implement ASLR for &os; which is now available for broader
|
||||||
|
testing.</p>
|
||||||
|
|
||||||
<p>With this change, randomization is applied to all non-fixed
|
<p>With this change, randomization is applied to all non-fixed
|
||||||
mappings. By randomization I mean the base address for the
|
mappings. By randomization I mean the base address for the
|
||||||
|
@ -1629,35 +1642,36 @@
|
||||||
|
|
||||||
<p>To not spoil coalescing optimizations, to reduce the page
|
<p>To not spoil coalescing optimizations, to reduce the page
|
||||||
table fragmentation inherent to ASLR, and to keep the
|
table fragmentation inherent to ASLR, and to keep the
|
||||||
transient superpage promotion for the <tt>malloc</tt>ed memory, the
|
transient superpage promotion for the <tt>malloc</tt>ed
|
||||||
locality is implemented for anonymous private mappings, which
|
memory, the locality is implemented for anonymous private
|
||||||
are automatically grouped until fragmentation kicks in. The
|
mappings, which are automatically grouped until fragmentation
|
||||||
initial location for the anon group range is, of course,
|
kicks in. The initial location for the anon group range is,
|
||||||
randomized. After some additional tuning, the measures
|
of course, randomized. After some additional tuning, the
|
||||||
appeared to be quite effective. In particular, a very
|
measures appeared to be quite effective. In particular, a
|
||||||
address-space-hungry build of PyPy 5.0 on i386 successfully
|
very address-space-hungry build of PyPy 5.0 on i386
|
||||||
finished with the most aggressive functionality of the patch
|
successfully finished with the most aggressive functionality
|
||||||
activated.</p>
|
of the patch activated.</p>
|
||||||
|
|
||||||
<p>The default mode keeps the <tt>sbrk</tt> area unpopulated by other
|
<p>The default mode keeps the <tt>sbrk</tt> area unpopulated by
|
||||||
mappings, but this can be turned off, which gives much more
|
other mappings, but this can be turned off, which gives much
|
||||||
breathing bits on the small AS architectures (funny that
|
more breathing bits on the small AS architectures (funny that
|
||||||
32 bits is considered small). This is tied with the question
|
32 bits is considered small). This is tied with the question
|
||||||
of following an application's hint about the <tt>mmap(2)</tt>
|
of following an application's hint about the <tt>mmap(2)</tt>
|
||||||
base address. Testing shows that ignoring the hint does not
|
base address. Testing shows that ignoring the hint does not
|
||||||
affect the function of common applications, but I would expect
|
affect the function of common applications, but I would expect
|
||||||
more demanding code could break. By default <tt>sbrk</tt> is preserved
|
more demanding code could break. By default <tt>sbrk</tt> is
|
||||||
and <tt>mmap</tt> hints are satisfied, which can be changed by using
|
preserved and <tt>mmap</tt> hints are satisfied, which can be
|
||||||
the <tt>kern.elf{32,64}.aslr_care_sbrk</tt> sysctl (currently enabled
|
changed by using the <tt>kern.elf{32,64}.aslr_care_sbrk</tt>
|
||||||
by default for wider testing).</p>
|
sysctl (currently enabled by default for wider testing).</p>
|
||||||
|
|
||||||
<p>Stack gap, W^X, shared page randomization, KASLR and other
|
<p>Stack gap, W^X, shared page randomization, KASLR and other
|
||||||
techniques are explicitly out of scope of this work.</p>
|
techniques are explicitly out of scope of this work.</p>
|
||||||
|
|
||||||
<p>The <tt>paxtest</tt> results for the run with the previous version 5
|
<p>The <tt>paxtest</tt> results for the run with the previous
|
||||||
of the patch applied and aggressively tuned can be seen at
|
version 5 of the patch applied and aggressively tuned can be
|
||||||
<a href="https://www.kib.kiev.ua/kib/aslr/paxtest.log"><tt>paxtest.log</tt></a>. For
|
seen at
|
||||||
comparison, the run on Fedora 23 on the same machine is at
|
<a href="https://www.kib.kiev.ua/kib/aslr/paxtest.log"><tt>paxtest.log</tt></a>.
|
||||||
|
For comparison, the run on Fedora 23 on the same machine is at
|
||||||
<a href="https://www.kib.kiev.ua/kib/aslr/fedora.log"><tt>fedora.log</tt></a>.</p>
|
<a href="https://www.kib.kiev.ua/kib/aslr/fedora.log"><tt>fedora.log</tt></a>.</p>
|
||||||
|
|
||||||
<p>ASLR is enabled on a per-ABI basis, and currently is only
|
<p>ASLR is enabled on a per-ABI basis, and currently is only
|
||||||
|
@ -2328,10 +2342,10 @@
|
||||||
<body>
|
<body>
|
||||||
<p>The FreeBSD Foundation is a 501(c)(3) non-profit organization
|
<p>The FreeBSD Foundation is a 501(c)(3) non-profit organization
|
||||||
dedicated to supporting and promoting the FreeBSD Project and
|
dedicated to supporting and promoting the FreeBSD Project and
|
||||||
community worldwide. Funding comes from individual and
|
community worldwide. Funding comes from individual and
|
||||||
corporate donations and is used to fund and manage development
|
corporate donations and is used to fund and manage development
|
||||||
projects, conferences and developer summits, and provide
|
projects, conferences and developer summits, and provide
|
||||||
travel grants to FreeBSD developers. The Foundation purchases
|
travel grants to FreeBSD developers. The Foundation purchases
|
||||||
hardware to improve and maintain FreeBSD infrastructure and
|
hardware to improve and maintain FreeBSD infrastructure and
|
||||||
publishes FreeBSD white papers and marketing material to
|
publishes FreeBSD white papers and marketing material to
|
||||||
promote, educate, and advocate for the FreeBSD Project. The
|
promote, educate, and advocate for the FreeBSD Project. The
|
||||||
|
@ -2352,13 +2366,13 @@
|
||||||
|
|
||||||
<p>OS Improvements</p>
|
<p>OS Improvements</p>
|
||||||
|
|
||||||
<p>The Foundation improves
|
<p>The Foundation improves FreeBSD by funding software
|
||||||
FreeBSD by funding software development projects approved through our proposal
|
development projects approved through our proposal submission
|
||||||
submission process and our three software developer staff
|
process and our three software developer staff members. Two
|
||||||
members. Two Foundation-funded projects were started last
|
Foundation-funded projects were started last quarter, the
|
||||||
quarter, the first to improve stability of the vnet network
|
first to improve stability of the vnet network stack
|
||||||
stack virtualization infrastructure, and the second for phase
|
virtualization infrastructure, and the second for phase two of
|
||||||
two of the FreeBSD/arm64 port project.</p>
|
the FreeBSD/arm64 port project.</p>
|
||||||
|
|
||||||
<p>Foundation staff members were responsible for many changes
|
<p>Foundation staff members were responsible for many changes
|
||||||
over the quarter. Some notable items include process-shared
|
over the quarter. Some notable items include process-shared
|
||||||
|
@ -2367,7 +2381,7 @@
|
||||||
bug fixes in the <tt>autofs</tt> automount daemon, an updated
|
bug fixes in the <tt>autofs</tt> automount daemon, an updated
|
||||||
version of the ELF Tool Chain, investigation of the
|
version of the ELF Tool Chain, investigation of the
|
||||||
<tt>lld</tt> linker, improved X86 hardware support, and VM
|
<tt>lld</tt> linker, improved X86 hardware support, and VM
|
||||||
subsystem stability improvements. Several of these projects
|
subsystem stability improvements. Several of these projects
|
||||||
are described elsewhere in this quarterly report.</p>
|
are described elsewhere in this quarterly report.</p>
|
||||||
|
|
||||||
<p>Release Engineering</p>
|
<p>Release Engineering</p>
|
||||||
|
@ -2413,20 +2427,21 @@
|
||||||
<a href="https://www.freebsdfoundation.org/blog/initial-freebsd-risc-v-architecture-port-committed/">the FreeBSD RISC-V</a>
|
<a href="https://www.freebsdfoundation.org/blog/initial-freebsd-risc-v-architecture-port-committed/">the FreeBSD RISC-V</a>
|
||||||
work being done.</p>
|
work being done.</p>
|
||||||
|
|
||||||
<p>Assistance was provided to Mellanox for their press release highlighting
|
<p>Assistance was provided to Mellanox for their press release
|
||||||
|
highlighting
|
||||||
<a href="http://www.mellanox.com/page/press_release_item?id=1688">their work with NetFlix</a>.</p>
|
<a href="http://www.mellanox.com/page/press_release_item?id=1688">their work with NetFlix</a>.</p>
|
||||||
|
|
||||||
<p>Conferences and Events</p>
|
<p>Conferences and Events</p>
|
||||||
|
|
||||||
<p>The FreeBSD Foundation sponsors many conferences, events, and summits around the
|
<p>The FreeBSD Foundation sponsors many conferences, events, and
|
||||||
globe. These events can be BSD-related, open source, or technology
|
summits around the globe. These events can be BSD-related,
|
||||||
events geared towards underrepresented groups. We provide
|
open source, or technology events geared towards
|
||||||
financial support to the major BSD conferences like BSDCan,
|
underrepresented groups. We provide financial support to the
|
||||||
AsiaBSDCon, and EuroBSDCon, and give financial and/or other
|
major BSD conferences like BSDCan, AsiaBSDCon, and EuroBSDCon,
|
||||||
support for smaller events like BSDDays, FreeBSD Summits, and
|
and give financial and/or other support for smaller events
|
||||||
FreeBSD workshops, camps, and hackathons. For open source
|
like BSDDays, FreeBSD Summits, and FreeBSD workshops, camps,
|
||||||
conferences, we will attend when we can get a free non-profit
|
and hackathons. For open source conferences, we will attend
|
||||||
booth.</p>
|
when we can get a free non-profit booth.</p>
|
||||||
|
|
||||||
<p>The year kicked off with sending Ed Maste, Benedict
|
<p>The year kicked off with sending Ed Maste, Benedict
|
||||||
Reuschling, and George Neville-Neil to promote and give talks
|
Reuschling, and George Neville-Neil to promote and give talks
|
||||||
|
@ -2436,27 +2451,29 @@
|
||||||
various people about reproducible builds in FreeBSD.</p>
|
various people about reproducible builds in FreeBSD.</p>
|
||||||
|
|
||||||
<p>Dru Lavigne and Deb Goodkin promoted FreeBSD at SCALE in
|
<p>Dru Lavigne and Deb Goodkin promoted FreeBSD at SCALE in
|
||||||
Pasadena, California. Dru gave a presentation called "Doc Like an
|
Pasadena, California. Dru gave a presentation called "Doc
|
||||||
Egyptian." We were a Gold Sponsor for AsiaBSDCon in Tokyo, and five
|
Like an Egyptian." We were a Gold Sponsor for AsiaBSDCon in
|
||||||
Foundation members attended. Kirk McKusick taught a two-day
|
Tokyo, and five Foundation members attended. Kirk McKusick
|
||||||
FreeBSD Kernel tutorial and gave a talk on the history
|
taught a two-day FreeBSD Kernel tutorial and gave a talk on
|
||||||
of the BSD filesystem. Dru Lavigne and Benedict Reuschling
|
the history of the BSD filesystem. Dru Lavigne and Benedict
|
||||||
gave a documentation tutorial. Board members Hiroki Sato and
|
Reuschling gave a documentation tutorial. Board members
|
||||||
George Neville-Neil helped organize the conference. BSDnow.tv
|
Hiroki Sato and George Neville-Neil helped organize the
|
||||||
interviewed Benedict at AsiaBSDCon about his role as a new
|
conference. BSDnow.tv interviewed Benedict at AsiaBSDCon
|
||||||
Foundation board member and the Foundation's work.</p>
|
about his role as a new Foundation board member and the
|
||||||
|
Foundation's work.</p>
|
||||||
|
|
||||||
<p>We planned and organized our first-ever FreeBSD Storage
|
<p>We planned and organized our first-ever FreeBSD Storage
|
||||||
Summit in association with the USENIX FAST
|
Summit in association with the USENIX FAST Conference. Led by
|
||||||
Conference. Led by our President and Founder, Justin Gibbs,
|
our President and Founder, Justin Gibbs, we had over 50
|
||||||
we had over 50 attendees participating and working together on
|
attendees participating and working together on technically
|
||||||
technically focused topics. Benedict was busy promoting
|
focused topics. Benedict was busy promoting FreeBSD in
|
||||||
FreeBSD in Europe, where he also attended Linuxtage in
|
Europe, where he also attended Linuxtage in Chemnitz, Germany
|
||||||
Chemnitz, Germany to give a talk on FreeBSD (in German):
|
to give a talk on FreeBSD (in German):
|
||||||
<a href="https://chemnitzer.linux-tage.de/2016/de/programm/beitrag/194">FreeBSD – The Power to Serve a Community</a>.</p>
|
<a href="https://chemnitzer.linux-tage.de/2016/de/programm/beitrag/194">FreeBSD – The Power to Serve a Community</a>.</p>
|
||||||
|
|
||||||
<p>The Foundation committed to being a Gold Sponsor for BSDCan and the
|
<p>The Foundation committed to being a Gold Sponsor for BSDCan
|
||||||
upcoming Hackathon/DevSummit in Essen, Germany in April.</p>
|
and the upcoming Hackathon/DevSummit in Essen, Germany in
|
||||||
|
April.</p>
|
||||||
|
|
||||||
<p>Legal/FreeBSD IP</p>
|
<p>Legal/FreeBSD IP</p>
|
||||||
|
|
||||||
|
@ -2481,17 +2498,17 @@
|
||||||
can recruit more women to FreeBSD and offer Intro to FreeBSD
|
can recruit more women to FreeBSD and offer Intro to FreeBSD
|
||||||
workshops.</p>
|
workshops.</p>
|
||||||
|
|
||||||
<p>Meetings were held with a number of commercial vendors to help facilitate
|
<p>Meetings were held with a number of commercial vendors to
|
||||||
collaboration with the Project. This included presenting how
|
help facilitate collaboration with the Project. This included
|
||||||
the Project is organized, and how companies can get help,
|
presenting how the Project is organized, and how companies can
|
||||||
contribute back to the Project, promote their use of FreeBSD,
|
get help, contribute back to the Project, promote their use of
|
||||||
and for us to get their feedback on the work we are doing to
|
FreeBSD, and for us to get their feedback on the work we are
|
||||||
help with our fundraising efforts.</p>
|
doing to help with our fundraising efforts.</p>
|
||||||
|
|
||||||
<p>The new Foundation website and logo was launched, signaling the ongoing
|
<p>The new Foundation website and logo was launched, signaling
|
||||||
evolution of the Foundation identity and ability to better
|
the ongoing evolution of the Foundation identity and ability
|
||||||
serve the FreeBSD Project and community. Find our more about
|
to better serve the FreeBSD Project and community. Find our
|
||||||
our
|
more about our
|
||||||
<a href="https://www.freebsdfoundation.org/blog/introducing-a-new-look-for-the-foundation/">new look</a>.</p>
|
<a href="https://www.freebsdfoundation.org/blog/introducing-a-new-look-for-the-foundation/">new look</a>.</p>
|
||||||
</body>
|
</body>
|
||||||
</project>
|
</project>
|
||||||
|
|
Loading…
Reference in a new issue