<feed xmlns='http://www.w3.org/2005/Atom'>
<title>grovel/arch/powerpc, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>http://euandre.org/git/grovel/atom?h=main</id>
<link rel='self' href='http://euandre.org/git/grovel/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://euandre.org/git/grovel/'/>
<updated>2022-03-08T22:21:14Z</updated>
<entry>
<title>bits/syscall.h: add landlock syscalls from linux v5.13</title>
<updated>2022-03-08T22:21:14Z</updated>
<author>
<name>Szabolcs Nagy</name>
<email>nsz@port70.net</email>
</author>
<published>2021-07-04T16:34:15Z</published>
<link rel='alternate' type='text/html' href='http://euandre.org/git/grovel/commit/?id=ee05b11b67d59a6c5bb4b9d661bcc20bbd0bbe7a'/>
<id>urn:sha1:ee05b11b67d59a6c5bb4b9d661bcc20bbd0bbe7a</id>
<content type='text'>
see

  linux commit a49f4f81cb48925e8d7cbd9e59068f516e984144
  arch: Wire up Landlock syscalls

  linuxcommit 17ae69aba89dbfa2139b7f8024b757ab3cc42f59
  Merge tag 'landlock_v34' of ... jmorris/linux-security

Landlock provides for unprivileged application sandboxing. The goal of
Landlock is to enable to restrict ambient rights (e.g. global filesystem
access) for a set of processes. Landlock is inspired by seccomp-bpf but
instead of filtering syscalls and their raw arguments, a Landlock rule
can restrict the use of kernel objects like file hierarchies, according
to the kernel semantic.
</content>
</entry>
<entry>
<title>bits/syscall.h: add mount_setattr from linux v5.12</title>
<updated>2022-03-08T22:19:51Z</updated>
<author>
<name>Szabolcs Nagy</name>
<email>nsz@port70.net</email>
</author>
<published>2021-05-25T20:53:18Z</published>
<link rel='alternate' type='text/html' href='http://euandre.org/git/grovel/commit/?id=f7d3db5bfc4c3b2315dd8c3137f0f332e1c6896a'/>
<id>urn:sha1:f7d3db5bfc4c3b2315dd8c3137f0f332e1c6896a</id>
<content type='text'>
new syscall to change the properties of a mount or a mount tree using
file descriptors which the new mount api is based on, see

  linux commit 2a1867219c7b27f928e2545782b86daaf9ad50bd
  fs: add mount_setattr()
</content>
</entry>
<entry>
<title>bits/syscall.h: add epoll_pwait2 from linux v5.11</title>
<updated>2022-03-08T22:19:36Z</updated>
<author>
<name>Szabolcs Nagy</name>
<email>nsz@port70.net</email>
</author>
<published>2021-03-07T19:21:34Z</published>
<link rel='alternate' type='text/html' href='http://euandre.org/git/grovel/commit/?id=b21f3ded780cc8fd8e510c99aeaf4a453d8c8a22'/>
<id>urn:sha1:b21f3ded780cc8fd8e510c99aeaf4a453d8c8a22</id>
<content type='text'>
see

  linux commit b0a0c2615f6f199a656ed8549d7dce625d77aa77
  epoll: wire up syscall epoll_pwait2

  linux commit 58169a52ebc9a733aeb5bea857bc5daa71a301bb
  epoll: add syscall epoll_pwait2

epoll_wait with struct timespec timeout instead of int. no time32 variant.
</content>
</entry>
<entry>
<title>add SPE FPU support to powerpc-sf</title>
<updated>2021-09-23T23:11:46Z</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2021-09-23T23:11:46Z</published>
<link rel='alternate' type='text/html' href='http://euandre.org/git/grovel/commit/?id=7be59733d71ada3a32a98622507399253f1d5e48'/>
<id>urn:sha1:7be59733d71ada3a32a98622507399253f1d5e48</id>
<content type='text'>
When the soft-float ABI for PowerPC was added in commit
5a92dd95c77cee81755f1a441ae0b71e3ae2bcdb, with Freescale cpus using
the alternative SPE FPU as the main use case, it was noted that we
could probably support hard float on them, but that it would involve
determining some difficult ABI constraints. This commit is the
completion of that work.

The Power-Arch-32 ABI supplement defines the ABI profiles, and indeed
ATR-SPE is built on ATR-SOFT-FLOAT. But setjmp/longjmp compatibility
are problematic for the same reason they're problematic on ARM, where
optional float-related parts of the register file are "call-saved if
present". This requires testing __hwcap, which is now done.

In keeping with the existing powerpc-sf subarch definition, which did
not have fenv, the fenv macros are not defined for SPE and the SPEFSCR
control register is left (and assumed to start in) the default mode.
</content>
</entry>
<entry>
<title>fix broken struct shmid_ds on powerpc (32-bit)</title>
<updated>2021-07-07T01:12:02Z</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2021-07-07T01:12:02Z</published>
<link rel='alternate' type='text/html' href='http://euandre.org/git/grovel/commit/?id=0fbd7d6683d04dcaa636df53e7fce69ece746241'/>
<id>urn:sha1:0fbd7d6683d04dcaa636df53e7fce69ece746241</id>
<content type='text'>
the kernel structure has padding of the shm_segsz member up to 64
bits, as well as 2 unused longs at the end. somehow that was
overlooked when the powerpc port was added, and it has been broken
ever since; applications compiled with the wrong definition do not
correctly see the shm_segsz, shm_cpid, and shm_lpid members.

fixing the definition just by adding the missing padding would break
the ABI size of the structure as well as the position of the time64
shm_atime and shm_dtime members we added at the end. instead, just
move one of the unused padding members from the original end (before
time64) of the structure to the position of the missing padding. this
preserves size and preserves correct behavior of any compiled code
that was already working. programs affected by the wrong definition
need to be recompiled with the correct one.
</content>
</entry>
<entry>
<title>bits/syscall.h: add process_madvise from linux v5.10</title>
<updated>2021-02-15T14:15:54Z</updated>
<author>
<name>Szabolcs Nagy</name>
<email>nsz@port70.net</email>
</author>
<published>2020-12-19T20:12:31Z</published>
<link rel='alternate' type='text/html' href='http://euandre.org/git/grovel/commit/?id=fd285f9dec226ca9e5377888ee24e3f8f5ada49f'/>
<id>urn:sha1:fd285f9dec226ca9e5377888ee24e3f8f5ada49f</id>
<content type='text'>
mainly added to linux to allow a central process management service in
android to give MADV_COLD|PAGEOUT hints for other processes, see

  linux commit ecb8ac8b1f146915aa6b96449b66dd48984caacc
  mm/madvise: introduce process_madvise() syscall: an external memory
  hinting API
</content>
</entry>
<entry>
<title>bits/syscall.h: add __NR_close_range from linux v5.9</title>
<updated>2020-11-29T05:54:14Z</updated>
<author>
<name>Szabolcs Nagy</name>
<email>nsz@port70.net</email>
</author>
<published>2020-10-24T10:15:43Z</published>
<link rel='alternate' type='text/html' href='http://euandre.org/git/grovel/commit/?id=3ba370fe8d9f450d351d710066fa20afad8ce3df'/>
<id>urn:sha1:3ba370fe8d9f450d351d710066fa20afad8ce3df</id>
<content type='text'>
see

  linux commit 9b4feb630e8e9801603f3cab3a36369e3c1cf88d
  arch: wire-up close_range()

  linux commit 278a5fbaed89dacd04e9d052f4594ffd0e0585de
  open: add close_range()
</content>
</entry>
<entry>
<title>bits/syscall.h: add __NR_faccessat2 from linux v5.8</title>
<updated>2020-09-09T21:21:03Z</updated>
<author>
<name>Szabolcs Nagy</name>
<email>nsz@port70.net</email>
</author>
<published>2020-07-28T21:17:13Z</published>
<link rel='alternate' type='text/html' href='http://euandre.org/git/grovel/commit/?id=9b7ed9702ce8925a5a947ad3bdbba126fe955aaf'/>
<id>urn:sha1:9b7ed9702ce8925a5a947ad3bdbba126fe955aaf</id>
<content type='text'>
the linux faccessat syscall lacks a flag argument that is necessary
to implement the posix api, see

  linux commit c8ffd8bcdd28296a198f237cc595148a8d4adfbe
  vfs: add faccessat2 syscall
</content>
</entry>
<entry>
<title>add pidfd_getfd and openat2 syscall numbers from linux v5.6</title>
<updated>2020-09-09T21:19:55Z</updated>
<author>
<name>Szabolcs Nagy</name>
<email>nsz@port70.net</email>
</author>
<published>2020-03-31T18:32:51Z</published>
<link rel='alternate' type='text/html' href='http://euandre.org/git/grovel/commit/?id=d990090384c6a468bb86962baf8bae7b6fd1d2bf'/>
<id>urn:sha1:d990090384c6a468bb86962baf8bae7b6fd1d2bf</id>
<content type='text'>
also added clone3 on sh and m68k, on sh it's still missing (not
yet wired up), but reserved so safe to add.

see

  linux commit fddb5d430ad9fa91b49b1d34d0202ffe2fa0e179
  open: introduce openat2(2) syscall

  linux commit 9a2cef09c801de54feecd912303ace5c27237f12
  arch: wire up pidfd_getfd syscall

  linux commit 8649c322f75c96e7ced2fec201e123b2b073bf09
  pid: Implement pidfd_getfd syscall

  linux commit e8bb2a2a1d51511e6b3f7e08125d52ec73c11139
  m68k: Wire up clone3() syscall
</content>
</entry>
<entry>
<title>remove redundant pthread struct members repeated for layout purposes</title>
<updated>2020-08-27T22:36:45Z</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2020-08-25T02:45:51Z</published>
<link rel='alternate' type='text/html' href='http://euandre.org/git/grovel/commit/?id=57f6e85c9de417fef5eece2a5b00c1104321f543'/>
<id>urn:sha1:57f6e85c9de417fef5eece2a5b00c1104321f543</id>
<content type='text'>
dtv_copy, canary2, and canary_at_end existed solely to match multiple
ABI and asm-accessed layouts simultaneously. now that pthread_arch.h
can be included before struct __pthread is defined, the struct layout
can depend on macros defined by pthread_arch.h.
</content>
</entry>
</feed>
