aboutsummaryrefslogtreecommitdiffstats
path: root/include
AgeCommit message (Expand)AuthorFilesLines
2024-03-22mempool: default to per-cpu mempool typeMathieu Desnoyers1-3/+3
2024-03-20mempool: Rename pool policyMathieu Desnoyers1-17/+21
2024-03-19Add Olivier Dion to list of mempool authorsMathieu Desnoyers1-0/+1
2024-03-19mempool: Document destroy after fork for populate noneMathieu Desnoyers1-1/+3
2024-03-19mempool: Protect whole range of populate none across forkMathieu Desnoyers1-1/+2
2024-03-18mempool: Introduce "private" populate policyMathieu Desnoyers1-6/+8
2024-03-18mempool: Remove mmap/munmap callbacksMathieu Desnoyers1-18/+0
2024-03-16mempool: Implement populate none policyMathieu Desnoyers1-0/+27
2024-03-10mempool: implement malloc_initMathieu Desnoyers1-6/+70
2024-03-09mempool: Detect poison corruption on allocMathieu Desnoyers1-1/+3
2024-03-09mempool: introduce poison attributeMathieu Desnoyers1-0/+13
2024-03-09mempool: Introduce rseq_mempool_attr_set_max_nr_rangesMathieu Desnoyers1-0/+11
2024-03-09mempool: cpu=-1 for init_func argument (global pool)Mathieu Desnoyers1-4/+7
2024-03-09mempool: init_func can return an errorMathieu Desnoyers1-2/+5
2024-03-09rseq: Introduce rseq_get_max_nr_cpusMathieu Desnoyers1-0/+8
2024-03-09mempool: Introduce rseq_mempool_get_max_nr_cpusMathieu Desnoyers1-0/+9
2024-03-09mempool: Introduce rseq_mempool_range_init_numa helperMathieu Desnoyers1-0/+11
2024-03-09mempool: Introduce init_func attributeMathieu Desnoyers1-0/+15
2024-03-08Mempool: default as globalMathieu Desnoyers1-4/+17
2024-03-08mempool: Receive mempool type (percpu/global) as attributeMathieu Desnoyers1-15/+37
2024-03-08mempool: update comments in header fileMathieu Desnoyers1-11/+11
2024-03-08mempool: reduce default RSEQ_PERCPU_STRIDE to 64kB on 64-bitMathieu Desnoyers1-5/+1
2024-03-08Add missing rseq_after_asm_goto in rseq_load_add_load_load_add_store__ptrMathieu Desnoyers1-0/+3
2024-03-08Revert "x86-64: Implement/use load_cbne_load_add_load_add_store"Mathieu Desnoyers3-33/+20
2024-03-08mempool: namespacing, add global alloc/freeMathieu Desnoyers1-19/+95
2024-03-08mempool: Introduce optional stride parameterMathieu Desnoyers2-16/+27
2024-03-08mempool: mass renaming of APIMathieu Desnoyers1-30/+30
2024-03-08mempool: update header commentsMathieu Desnoyers1-2/+12
2024-03-08mempool: Use masks to get pool range from pointer and stride for percpu offsetMathieu Desnoyers1-13/+18
2024-03-08percpu alloc: Introduce stride parameterMathieu Desnoyers1-4/+14
2024-03-08Rename percpu-alloc files to mempoolMathieu Desnoyers2-5/+5
2024-03-07percpu alloc: Remove RSEQ_POOL_ROBUST attributeMathieu Desnoyers1-15/+0
2024-03-07percpu pool: Move robust flag to atttributeMathieu Desnoyers1-9/+25
2024-03-07percpu pool: mmap set attr: return error valueMathieu Desnoyers1-1/+3
2024-03-07percpu pool: Introduce generic attributesMathieu Desnoyers1-16/+21
2024-03-07percpu alloc: add pool nameMathieu Desnoyers1-2/+5
2024-03-07percu-allocator: Implement robust pool validationOlivier Dion1-2/+17
2024-03-05percpu: remove rseq_percpu_pool_ptr_offsetMathieu Desnoyers1-10/+0
2024-03-05x86-64: Implement/use load_cbne_load_add_load_add_storeMathieu Desnoyers3-20/+33
2024-03-05Remove riscv has_load_add_load_load_add_store implementationMathieu Desnoyers2-56/+0
2024-03-05percpu allocator: Add flags argument for future extensionsMathieu Desnoyers1-1/+5
2024-03-04percpu alloc: introduce rseq mmap attributesMathieu Desnoyers1-17/+49
2024-03-04Cleanup: Remove whitelineMathieu Desnoyers1-1/+0
2024-03-04Rename RSEQ_ARCH_HAS_OFFSET_DEREF_ADDV to rseq_arch_has_load_add_load_load_ad...Mathieu Desnoyers3-3/+3
2024-03-04Revert "Introduce rseq_load_cbne_load_add_store pseudocode"Mathieu Desnoyers1-15/+0
2024-03-04Revert "x86: Introduce rseq_load_cbne_load_add_store"Mathieu Desnoyers1-120/+0
2024-03-04Revert "rseq.h: Introduce rseq_load_cbne_load_add_store__ptr"Mathieu Desnoyers1-19/+0
2024-03-04percpu alloc: introduce rseq_percpu_pool_ptr_offsetMathieu Desnoyers1-0/+10
2024-03-04Document percpu allocMathieu Desnoyers1-2/+202
2024-03-04rseq percpu: Remove __rseq_percpu annotation from returned pointerMathieu Desnoyers1-1/+1
2024-03-03x86-32: ip-relative: return to post-call addressMathieu Desnoyers1-4/+4
2024-03-02x86-32: Save ip reference for ip-relative addressingMathieu Desnoyers2-20/+83
2024-03-02x86-32: Use ip-relative addressing to store rseq_csMathieu Desnoyers1-6/+16
2024-03-02x86-32: work-around register pressure limitationsMathieu Desnoyers1-58/+48
2024-03-02x86-32: Document linker warningMathieu Desnoyers1-0/+7
2024-03-02arm: work-around register pressure limitationsMathieu Desnoyers1-61/+50
2024-03-01rseq.h: Introduce rseq_load_cbne_load_add_store__ptrMathieu Desnoyers1-0/+19
2024-03-01x86: Introduce rseq_load_cbne_load_add_storeMathieu Desnoyers1-0/+111
2024-03-01Introduce rseq_load_cbne_load_add_store pseudocodeMathieu Desnoyers1-0/+15
2024-03-01Rename rseq_load_add_load_add_store to rseq_load_add_load_load_add_storeMathieu Desnoyers4-6/+6
2024-03-01Add __rseq_percpu pointer taggingMathieu Desnoyers1-6/+17
2024-03-01percpu alloc: add missing extern CMathieu Desnoyers1-0/+8
2024-03-01Add missing include in percpu-alloc.hMathieu Desnoyers1-0/+1
2024-03-01rseq percpu alloc: Implement numa supportMathieu Desnoyers1-1/+2
2024-03-01Implement per-cpu memory allocatorMathieu Desnoyers2-0/+38
2024-02-29Introduce __RSEQ_ASM_DEFINE_CS_FIELDSMathieu Desnoyers3-10/+17
2024-02-29Introduce common generic header fileMathieu Desnoyers9-452/+131
2024-02-29x86: Introduce RSEQ_ASM_U32Mathieu Desnoyers1-1/+4
2024-02-29riscv: Introduce RSEQ_ASM_U64_PTR and RSEQ_ASM_U32Mathieu Desnoyers1-7/+12
2024-02-29s390: Introduce RSEQ_ASM_U32Mathieu Desnoyers1-2/+5
2024-02-29ppc: Introduce RSEQ_ASM_U32Mathieu Desnoyers1-2/+5
2024-02-29mips: Introduce RSEQ_ASM_U32Mathieu Desnoyers1-3/+7
2024-02-29arm: Introduce RSEQ_ASM_U32Mathieu Desnoyers1-3/+7
2024-02-29aarch64: Introduce RSEQ_ASM_U32Mathieu Desnoyers1-1/+3
2024-02-29thread-pointer: suffix include guard with _HMathieu Desnoyers1-2/+2
2024-02-29arm: Fix big endian, introduce RSEQ_ASM_U64_PTRMathieu Desnoyers1-4/+15
2024-02-29arm: Cleanup header codying styleMathieu Desnoyers1-4/+4
2024-02-29aarch64: Introduce RSEQ_ASM_U64_PTRMathieu Desnoyers1-5/+8
2024-02-29aarch64: Cleanup header coding styleMathieu Desnoyers1-4/+4
2024-02-28s390: Introduce code deduplication macrosMathieu Desnoyers1-86/+53
2024-02-28ppc: Introduce code deduplication macrosMathieu Desnoyers1-106/+69
2024-02-28x86: Introduce code deduplication macrosMathieu Desnoyers1-84/+45
2024-02-28mips: Reorganise code deduplication macrosMathieu Desnoyers1-19/+31
2024-02-28Re-organise public headersMichael Jeanson29-252/+441
2024-02-27RSEQ_ASM_DEFINE_TABLE: use parentheses around parameters on all archsMathieu Desnoyers7-8/+8
2024-02-27Comment s390 macros implementationMathieu Desnoyers1-19/+119
2024-02-27s390: namespace public header macros under RSEQ_ASM_Mathieu Desnoyers2-63/+63
2024-02-27Comment riscv macros implementationMathieu Desnoyers1-10/+107
2024-02-27riscv: Add missing "inc" parameter to RSEQ_ASM_OP_R_DEREF_ADDVMathieu Desnoyers2-2/+2
2024-02-27riscv: namespace public header macros under RSEQ_ASM_Mathieu Desnoyers1-19/+19
2024-02-27mips: Move RSEQ_ASM_DEFINE_ABORT table_label parameter to 4th argumentMathieu Desnoyers2-17/+17
2024-02-27arm: Move RSEQ_ASM_DEFINE_ABORT table_label parameter to 4th argumentMathieu Desnoyers2-17/+17
2024-02-27Comment mips macros implementationMathieu Desnoyers1-12/+101
2024-02-27Comment ppc macros implementationMathieu Desnoyers1-25/+129
2024-02-27Comment arm64 macros implementationMathieu Desnoyers1-10/+93
2024-02-27Comment arm macros implementationMathieu Desnoyers1-8/+93
2024-02-27Comment x86 asm macros implementationMathieu Desnoyers2-43/+129
2024-02-27mips: Namespace type helpers under RSEQ_ASM_*Mathieu Desnoyers2-70/+70
2024-02-27ppc: Rename RSEQ_ASM_OP_R_MEMCPY to RSEQ_ASM_OP_R_BYTEWISE_MEMCPYMathieu Desnoyers2-2/+2
2024-02-27riscv: Rename RSEQ_ASM_OP_R_BAD_MEMCPY to RSEQ_ASM_OP_R_BYTEWISE_MEMCPYMathieu Desnoyers2-2/+2
2024-02-27arm64: Rename RSEQ_ASM_OP_R_BAD_MEMCPY to RSEQ_ASM_OP_R_BYTEWISE_MEMCPYMathieu Desnoyers2-2/+2
2024-02-27ppc: Rename RSEQ_ helpers to RSEQ_ASM_Mathieu Desnoyers1-29/+29
2024-02-27Rename RSEQ_TEMPLATE macrosMathieu Desnoyers16-153/+153
2024-02-27x86: Use RSEQ_ASM_ prefix for RSEQ_CPU_ID_OFFSET, RSEQ_CS_OFFSET, RSEQ_MM_CID...Mathieu Desnoyers3-18/+18
2024-02-27x86-32: Remove support for old IDT WinChip and PPROMathieu Desnoyers1-26/+4
2024-02-27x86-64: change jnz/jz for jne/je after cmp/testMathieu Desnoyers1-22/+22
2024-02-27Rename RSEQ_ASM_DEFINE_CMPFAIL to RSEQ_ASM_DEFINE_TEARDOWNMathieu Desnoyers8-25/+25
2024-02-27Rename branch labels from cmpfail to ne/eqMathieu Desnoyers7-168/+168
2024-02-27Update rseq critical section identifiers to match pseudo-codeMathieu Desnoyers8-103/+75
2024-02-27Add rseq critical section pseudocode documentationMathieu Desnoyers10-0/+185
2024-02-22Add 'teardown' parameter to RSEQ_ASM_DEFINE_ABORT on all archMichael Jeanson6-22/+25
2024-02-22Clarify logic of RSEQ_ASM*_CMP* macrosMathieu Desnoyers14-154/+154
2024-01-10Add arm64 headers to list of headers to be installedMathias Stearn1-0/+2
2023-10-25riscv: Fix __always_inline causes duplicate inlineMathieu Desnoyers1-7/+7
2023-05-04Remove whitelineMathieu Desnoyers1-1/+0
2023-05-04Introduce rseq_scalar_type_to_expr to eliminate code duplicationMathieu Desnoyers1-10/+10
2023-04-27fix: compiler warning `-Wswitch-enum`Gerrit Klein1-0/+8
2023-04-27fix: compiler warning `-Wswitch-default`Gerrit Klein1-9/+18
2023-04-26Re-introduce union for rseq_cs ptrMathieu Desnoyers2-2/+21
2023-04-26Fix: make dist missing header filesMathieu Desnoyers1-0/+8
2023-04-25riscv: Template memory ordering and percpu access modeMathieu Desnoyers2-542/+438
2023-04-25s390: Template memory ordering and percpu access modeMathieu Desnoyers2-467/+500
2023-04-25ppc: Template memory ordering and percpu access modeMathieu Desnoyers2-578/+485
2023-04-25mips: Template memory ordering and percpu access modeMathieu Desnoyers2-612/+487
2023-04-25arm64: Template memory ordering and percpu access modeMathieu Desnoyers2-485/+421
2023-04-25arm: Template memory ordering and percpu access modeMathieu Desnoyers2-669/+529
2023-04-25x86: Template memory ordering and percpu access modeMathieu Desnoyers6-1266/+1247
2023-04-25rseq.h: implement mm_cid and node_id APIsMathieu Desnoyers1-6/+33
2023-04-25Update rseq.c to query ELF auxvecMathieu Desnoyers1-6/+28
2023-04-25Cleanup: rseq.h: add extra space around __VA_ARGS__Mathieu Desnoyers1-1/+1
2023-04-25Add mm_cid and numa node id to rseq ABI headerMathieu Desnoyers1-29/+34
2023-04-25Remove RSEQ_SKIP_FASTPATH codeMathieu Desnoyers9-120/+0
2023-04-21All arch: use rseq_unqual_scalar_typeof in load-acquireMathieu Desnoyers6-7/+7
2023-04-21c++: compiler: use remove_cv and remove_reference in rseq_unqual_scalar_typeofMathieu Desnoyers1-1/+1
2023-04-21rseq_arm64: use rseq_unqual_scalar_typeof in load-acquireMathieu Desnoyers1-1/+1
2023-04-21Revert "compiler: C++: simplify rseq_unqual_scalar_typeof implementation"Mathieu Desnoyers1-1/+1
2023-04-21Revert "compiler: c++: use decltype"Mathieu Desnoyers1-1/+1
2023-04-21compiler: c++: use decltypeMathieu Desnoyers1-1/+1
2023-04-21compiler: C++: simplify rseq_unqual_scalar_typeof implementationMathieu Desnoyers1-1/+1
2023-04-20rseq-arm64: Fix buggy load-acquire/store-release macrosMathieu Desnoyers1-28/+30
2023-04-20compiler: implement rseq_unqual_scalar_typeofMathieu Desnoyers1-0/+31
2023-04-20Use __asm__ __volatile__ in rseq_after_asm_goto for c11 compatibilityMathieu Desnoyers1-1/+1
2023-04-20architecture headers: add extra parentheses around macro parametersMathieu Desnoyers6-13/+13
2023-04-20Tests: Introduce arch-mo unit testsMathieu Desnoyers1-0/+8
2023-04-17Fix: gcc extension compiler warningGary Gee1-4/+4
2023-04-14Implement the REUSE specification for licensing and copyrightMichael Jeanson16-36/+36
2023-04-14Relicense librseq to MITMathieu Desnoyers14-14/+14
2022-10-31Allowing querying whether libc support rseqMathieu Desnoyers1-1/+9
2022-06-13Add RISC-V rseq supportMichael Jeanson4-0/+728
2022-02-02Use ptrdiff_t for rseq_offsetMathieu Desnoyers2-9/+10
2022-01-31Cleanup: x86: remove leftover commentMathieu Desnoyers1-7/+0
2022-01-24x86-32: use %gs segment selector for accessing rseq thread areaMathieu Desnoyers1-36/+38
2022-01-24x86-64: use %fs segment selector for accessing rseq thread areaMathieu Desnoyers1-32/+34
2022-01-24Update header copyright datesMathieu Desnoyers2-2/+2
2022-01-24Introduce rseq-abi.hMathieu Desnoyers9-75/+239
2022-01-21Fix: work-around Linux kernel rseq.h uapi endianness issueMathieu Desnoyers5-5/+17
2022-01-21Fix: use long rather than int for offsetsMathieu Desnoyers7-12/+12
2022-01-21ppc: remove incomplete undef listMathieu Desnoyers1-5/+0
2022-01-21Fix: use int rather than off_t for offsetsMathieu Desnoyers7-12/+12
2022-01-21mips: use rseq_cs ptr 32-bit fieldMathieu Desnoyers1-8/+10
2022-01-21arm64: refer to rseq_cs.ptr fieldMathieu Desnoyers1-8/+10
2022-01-21s390/s390x: refer to rseq_cs pointer fieldMathieu Desnoyers1-6/+10
2022-01-21arm: refer to 32-bit pointer field for rseq_cs ptrMathieu Desnoyers1-8/+10
2022-01-21Fix: ppc32: wrong rseq_cs 32-bit field pointer field on big endianMathieu Desnoyers1-8/+12
2022-01-21Fix: ppc32: do not produce cmpdi invalid instructionMathieu Desnoyers1-2/+4
2022-01-17x86_64: Add rseq_offset_deref_addv()Mathieu Desnoyers1-0/+60
2022-01-05Fix: Warnings about #if checks of undefined tokensMathieu Desnoyers1-1/+1
2022-01-04Fix: work-around asm goto compiler bugsMathieu Desnoyers8-6/+252
2022-01-04Remove arm/mips asm goto compiler work-aroundMathieu Desnoyers2-74/+0
2022-01-04Build and run tests as C++ programsMichael Jeanson1-1/+1
2021-12-15ppc rseq thread pointer: add extended asmMathieu Desnoyers1-0/+1
2021-12-14Introduce rseq-generic-thread-pointer.hMathieu Desnoyers3-13/+27
2021-12-14rseq thread pointer: extern CMathieu Desnoyers3-0/+24
2021-12-14Introduce RSEQ_GET_ABI_OVERRIDEMathieu Desnoyers1-11/+21
2021-12-14Add missing rseq thread pointer headers to makefileMathieu Desnoyers1-1/+4
2021-12-14Introduce rseq-thread-pointer.hMathieu Desnoyers2-11/+24
2021-12-14Update librseq to co-exist with glibc rseq integrationMathieu Desnoyers9-97/+174
2021-12-14Remove rseq_deref_loadoffp placeholdersMathieu Desnoyers5-35/+0
2020-07-09Remove __rseq_handled declarationMathieu Desnoyers1-1/+0
2020-07-08Cleanup: powerpc: Use "long" and "int" to clarify load/store macrosMathieu Desnoyers1-24/+28
2020-07-08Fix: powerpc: Add missing instruction selection "u" and "x" for load/storeMathieu Desnoyers1-15/+15
2020-06-05Remove do_on_cpu dependenciesMathieu Desnoyers2-185/+0
2020-06-05Remove do_on_cpu (prototype)Mathieu Desnoyers2-78/+22
2019-09-19Cleanup: cplusplus ifdef coding style updateMathieu Desnoyers1-4/+4
2019-09-19Allow using librseq APIs from C++ codeMatthew Glazar1-0/+16
2019-07-26Implement percpu_fence()Mathieu Desnoyers1-0/+10
2019-07-25Move to do_on_cpu system callMathieu Desnoyers10-7/+183
2019-06-30Add ARM big-endian support to rseq headersMathieu Desnoyers1-1/+1
2019-06-30Fix: Thumb mode build failure on arm32Mathieu Desnoyers1-28/+33
2019-06-06rseq/selftests: mips: use break instruction for RSEQ_SIGMathieu Desnoyers1-1/+33
2019-06-06rseq/selftests: powerpc code signature: generate valid instructionsMathieu Desnoyers1-1/+9
2019-06-06rseq/selftests: aarch64 code signature: handle big-endian environmentMathieu Desnoyers1-2/+15
2019-06-06rseq/selftests: arm: use udf instruction for RSEQ_SIGMathieu Desnoyers1-2/+50
2019-06-06rseq/selftests: s390: use trap4 for RSEQ_SIGMartin Schwidefsky1-1/+8
2019-06-06rseq/selftests: x86: use ud1 instruction as RSEQ_SIG opcodeMathieu Desnoyers1-4/+11
2019-05-28Remove volatile, use READ/WRITE ONCEMathieu Desnoyers1-5/+5
2019-04-23cpu-op: change _mb_ API to _releaseMathieu Desnoyers2-6/+6
2019-04-23cpu-op: add add_release APIMathieu Desnoyers1-0/+1
2019-04-22rseq/selftests: x86: Work-around bogus gcc-8 optimisationMathieu Desnoyers1-74/+70
2019-03-27s390: use jg instruction for jumps outside of the asmMathieu Desnoyers1-2/+2