- 23 Jun, 2022 7 commits
-
-
Yury Khrustalev authored
- Add AT_CHERI_STACK_CAP entry - Amend value for the AT_CHERI_SEAL_CAP entry Change-Id: I9de76d47b623fcc4bf4cb57fc20b2291184fb9d1
-
Yury Khrustalev authored
- Fixup: Morello: Use compiler builtins for atomics. - A redundant type cast was causing use of non-capability registers for casal operation. Change-Id: I854f9d3ed8569cd753b10cad833bff432f9ae755
-
Tamas Petz authored
- libshim no longer depends on libarchcap - configure: add missing newline to printf Change-Id: I0f3e338cec08c97bda01eb411a27070672015f6e
-
Tudor Cretu authored
In the Purecap ABI, the OFF_MASK is incorrect due to undefined behaviour occurring during the left shift of the unsigned long long. Remove the high-bit offset check for 64-bit architectures as it's only used for 32-bit architectures. Change-Id: Ie29ad39d1d2a9e34c0fa930498c3cc7b2ee53b45
-
Yury Khrustalev authored
Change-Id: I39d983f343a1199e47fc7338c7555badab5d1d3c
-
Tamas Petz authored
- Add configure option to enable / disable use of compiler atomics (enabled by default for Morello). - Add atomics implementations based on compiler builtins. Change-Id: I9de036382bfd409c4752455dfb160d89f15524bf
-
Yury Khrustalev authored
Change-Id: I93f7949be0fe432c306fa54876d8ba5b10be93de
-
- 25 Apr, 2022 1 commit
-
-
Werner Lewis authored
GRP_SIZE in Morello is two UNITs, which causes existing logic to fail when allocating two slots in a page with zero remainder, as the slot and header exceed half the page size. This is modified to allow for this case to be correctly supported. Change-Id: I4a10f1bc1213bf2b555381ee052bb006c5bf442d
-
- 14 Apr, 2022 2 commits
-
-
Yury Khrustalev authored
Change-Id: I4bb08963b420a2060d35214af3cff6b2ab0a6839
-
Yury Khrustalev authored
Change-Id: I4af9c3ca22503e135f18dbaab844a3f69f8934ac
-
- 13 Apr, 2022 18 commits
-
-
Werner Lewis authored
- Fix size_classes for Morello - Fix size_to_class for Morello In mallocng, size classes are selected to minimize the remainder in a page, with every fourth having zero remainder for allocation of a group with one slot. For Morello, the size of the group header is doubled, causing the size classes to be misaligned with page boundaries, causing errors where alignment is assumed. Size classes are adjusted to realign with page boundaries, and a check added to prevent out-of-slot offsets. Conversion of malloc length to size class is fixed to account for the increased group header size for Morello. Change-Id: Id22d66d78d3c027f539327fe4b34b980a0ea3da8
-
Tudor Cretu authored
Change-Id: I8302b6e363ae8001cc4966f337e00cb41051c206
-
Tamas Petz authored
These tests now check the following cases: 1. Async cancellation when a thread is not at a cancellation point at the time of a cancel. 2. Async cancellation when a thread is at a cancellation point at the time of a cancel. 3. Deferred cancellation when a thread is not at a cancellation point at the time of a cancel. 4. Deferred cancellation when a thread is at a cancellation point at the time of a cancel. 5. Async cancellation when cancellation is disabled. 6. Deferred cancellation when cancellation is disabled. 7. [extension] Async cancellation with cancellation masked. 8. [extension] Deferred cancellation with cancellation masked. Change-Id: I93cfd6dd8559a4bae12909b52c1b962c66db250e
-
Yury Khrustalev authored
Change-Id: Ifc390b9249263fd5a8aec079cc62a00c0017e8ec
-
Tamas Petz authored
That change introduced a bug when printing permissions of capabilitites. Found by manual code inspection. Change-Id: I45eeed37b06275af52191755684be1dbc89bd551
-
Tamas Petz authored
Change-Id: Iee562eac71c6c8aabb3e352d5c81ab5b9e760c6d
-
Tudor Cretu authored
The change allows memmove to copy capability tags for every 16-byte aligned address. Change-Id: I5ed5c4303db9bdf8f2572dc425f0092d6462fc6b
-
Werner Lewis authored
Change-Id: I50b31806cbb7b7927f769fb09e3c957976b9c1eb
-
Yury Khrustalev authored
Change-Id: Ieeaecc79add6ae821fdd280daecf63ac46a430ed
-
Jack Bond-Preston authored
Ensure these tests pass on Morello model (while still testing the required functionality). Change-Id: I7ea32875235221770a1a9e0a34d0aa6c62e0d448
-
Werner Lewis authored
Change-Id: Id8400143db475a2dc2493ccf5d11b1b26e7031dc
-
Tudor Cretu authored
Previously, the bitwise operations would detect the null character at the end of the string by reading the next 4 chars, even if they were out of bounds. This is not allowed in Morello, so a bounds check is added before the access. If the next 4 chars access would cross the limit of the capability, the algorithm resumes to handling each char independently. Change-Id: I305b219f9e9e7b9616cb66cb36425b6e4e84f887
-
Werner Lewis authored
Change-Id: I0acff14e3a72b1a1e72f74e1692574608220b87c
-
Yury Khrustalev authored
- This define is replaced by the compiler macro __CHERI_PURE_CAPABILITY__. - This patch also removes inconsistently implemented macro MORELLO_ENABLE_SUBOBJECT_BOUNDS. - Remove morello_init_array and morello_fini_array symbols. Change-Id: I910b2fd364785dc0eb7ea0179d01c49b703c3522
-
Murray Steele authored
- Enable selected dynamic library tests for use in libc-test. - Prefer -print-libgcc-file-name to -print-file-name in configure - Make existing dynamic linker code capability-friendly - Enable LDSO objects for Morello Change-Id: Ie8c9ca3dff11e3262e8fbbf6c14270302568258f
-
Werner Lewis authored
Change-Id: I024ef260039fd4f1c71207c02bc0648c3f650121
-
Werner Lewis authored
Change-Id: Ib0b5f562807655417b26dd84336ce4fb75f6719f
-
Jack Bond-Preston authored
Change-Id: Ia3abd285ac667f075c641f72009c97687cec04bd
-
- 25 Feb, 2022 8 commits
-
-
Tamas Petz authored
- Fix undefined behaviour of clone() Popping a fixed number of arguments using va_arg is undefined if there were fewer arguments passed. This change makes it defined by checking 'flags'. - Fix type of pthread_t for CPP The type should be sufficiently large enough to hold a pointer, or a capability for CHERI. Change-Id: I12cadc66a52574e67c18dc323d1df2cf1048890a
-
Yury Khrustalev authored
- Remove git clone from makefile - Fix test names in libc-test suite - Use sysroot for building tests - Mark forkpty test as flaky Change-Id: I626c905a63ae569758481f3e1a349603d3ebc39c
-
Jack Bond-Preston authored
Change-Id: I8a25855fe4f892598551a72e7c4f128d07123b64
-
Werner Lewis authored
Change-Id: Id683f1b50a5a50ba5892f809635ceb85527da138
-
Tamas Petz authored
The intention was to check that munmap works for a mapped area. Change-Id: I0323e45ad5fded0e430fc3cef08412fba422cc16
-
Werner Lewis authored
- Fix buffer length in getservbyport - Add test for shared memory objects - Add test for sockatmark - Add test for if_nameindex - Add test for ftw Change-Id: Ic3f59ece867bc48b9faea0cbecc3eba2e9cf8311
-
Tudor Cretu authored
Change-Id: Ia2a8ed975a3bce447b785e0474750399e7c61654
-
Tamas Petz authored
Change-Id: Ie94b1fc6675660f115796f6026c540f677b47ddd
-
- 10 Feb, 2022 4 commits
-
-
Murray Steele authored
Change-Id: Iac829598c5211d09379157640657386e1008d3d1
-
Tamas Petz authored
- Make pthread_impl.h CHERI-generic - Make 'lsearch()' CHERI-generic These changes are not Morello-specific. Change-Id: Iee2500b792c3c99a7ae1f921b75127de3dc305b6
-
Murray Steele authored
Change-Id: I6fc6e431066a4e868cbbc0d39ace3a0a83f6a0e5
-
Yury Khrustalev authored
Change-Id: Ic08355da22fe82f7d859494f9d34812b3be861f7
-