Commit Graph

  • 9df0101dfd Enable guard pages in CHECK_CLIENT Matthew Parkinson 2021-07-16 16:35:54 +01:00
  • 02d2ab8f7e Pagemap requires registration of used space Matthew Parkinson 2021-07-16 14:27:16 +01:00
  • da01d5b4ca Remove address space usage from Pagemap. Matthew Parkinson 2021-07-16 10:36:13 +01:00
  • 686cb3321f Use SFINAE for varying API on pagemap Matthew Parkinson 2021-07-16 09:51:29 +01:00
  • 8b1ffbc166 Expose reserve_at_least in all Pals Matthew Parkinson 2021-07-16 09:41:58 +01:00
  • 2ba0de76b3 mem/metaslab: use uintptr_t alignment functions Nathaniel Wesley Filardo 2021-07-20 12:13:56 +01:00
  • 3e70963772 ds/address: add some uintptr_t manipulation functions Nathaniel Wesley Filardo 2021-07-20 12:04:21 +01:00
  • 704bc423cc refact(cmake): change mcx16 detection to facilitate cross compiling (#351) Schrodinger ZHU Yifan 2021-07-20 15:59:44 +08:00
  • b501da69db Implements protection on remote messages queues Matthew Parkinson 2021-07-14 19:49:21 +01:00
  • c58b0a5f4d Removes a register copy from x86 codegen. Matthew Parkinson 2021-07-14 12:03:07 +01:00
  • e60dd3dc95 Don't depend on <entropy> if we don't need it. (#350) David Chisnall 2021-07-19 11:40:27 +01:00
  • de8ef3efc7 Cleaner implementation of signed pointers. (#347) Matthew Parkinson 2021-07-15 18:31:28 +01:00
  • d0ecba5280 Improved OEPal integration with the new snmalloc architecture (#346) Istvan Haller 2021-07-15 15:06:47 +01:00
  • 39c2df0b56 pagemap: don't eagerly commit on LazyCommit PALs Nathaniel Wesley Filardo 2021-07-13 13:25:01 +01:00
  • 4b9ead8066 Fix register_clean_up being called with ScopedAllocator. (#344) Matthew Parkinson 2021-07-12 19:50:36 +01:00
  • f0e2ab702a Major refactor of snmalloc (#343) Matthew Parkinson 2021-07-12 15:53:36 +01:00
  • dcd47a0449 Allow disabling the Debug-mode check in the ABA Istvan Haller 2021-07-05 13:08:42 +01:00
  • b598add0d1 Fix the build with GCC and libc cleanup. (#341) David Chisnall 2021-07-01 11:07:31 +01:00
  • 18d7cc99b6 Extended TrivialInitAtomic (#340) Istvan Haller 2021-06-23 10:50:28 +01:00
  • 85843e965e Rewrite Apple PAL using native APIs (#336) Amari Robinson 2021-06-23 03:40:24 -05:00
  • 0757762083 Enable overcommit for heuristic on Linux Matthew Parkinson 2021-06-07 09:21:22 +01:00
  • 9e88691ce6 Fix still non getentropy platform builds David Carlier 2021-05-30 00:12:47 +01:00
  • aefd149f0a Gated the mcx16 flag to C++ compilation (#332) Istvan Haller 2021-05-28 17:13:49 +01:00
  • 7d346c0b2d Add init method to ABA on ARM (#331) Theo Butler 2021-05-26 16:06:42 -04:00
  • 589ecfab02 Fix building on old libc systems without getentropy (#329) Matthias Wahl 2021-05-25 17:46:06 +02:00
  • e77a5d9c58 Remove cache-friendly offset. Matthew Parkinson 2021-05-04 10:03:12 +01:00
  • f0ebbebf74 Refactor is_start_of_object Matthew Parkinson 2021-04-30 15:41:41 +01:00
  • 5198821905 CR Feedback. Matthew Parkinson 2021-04-29 19:14:38 +01:00
  • 208ab9a8e8 Rederive allocator id for remotes. Matthew Parkinson 2021-04-09 08:35:00 +01:00
  • b3796c123e Move remote cache out of alloc.h Matthew Parkinson 2021-04-08 15:53:51 +01:00
  • e011c297e6 Allocslab doesn't need to know impl of Remote Matthew Parkinson 2021-04-08 15:51:43 +01:00
  • 118eecb2e6 Check for heap corruption Matthew Parkinson 2021-04-08 15:50:34 +01:00
  • c58a690b30 rust override: allows to implements alloc_zeroed as well proposal. David CARLIER 2021-05-06 10:01:34 +01:00
  • 83e6208862 backtrace cmake vars build fix, got undetected if the system package include was already in the flags. David Carlier 2021-05-06 08:47:01 +01:00
  • 85db778c39 c++20 concept: enforcing type for get_entropy implementers. David Carlier 2021-05-02 08:29:14 +01:00
  • 15a7e159c0 consteval introduction proposal. David Carlier 2021-05-02 11:32:47 +01:00
  • f3a9d3a682 c++20 (timid) introduction of constinit proposal. David Carlier 2021-05-02 10:50:27 +01:00
  • e3a7eab789 unlikely annotation introduction proposal. David Carlier 2021-04-24 10:05:18 +01:00
  • 74077967a3 Fixing PAL haiku build similarly to NetBSD. David Carlier 2021-04-29 18:52:38 +00:00
  • 017d4b1a59 Add clang-10 64-bit debug C++20 target Nathaniel Filardo 2021-04-21 12:26:52 +01:00
  • 71db09423f CMake: add SNMALLOC_USE_CXX20 option Nathaniel Filardo 2021-04-21 12:23:25 +01:00
  • 80c6e95210 C++20: Add TrivialInitAtomic Nathaniel Filardo 2021-04-20 19:06:39 +01:00
  • c132c86cf9 ci/README: document how to test docker images locally Nathaniel Filardo 2021-04-21 15:11:13 +01:00
  • 7b0c38228b ci/scripts/build: allow out-of-tree builds Nathaniel Filardo 2021-04-21 15:04:10 +01:00
  • 2f3a5f7974 ci/scripts/build: Don't force C++17 Nathaniel Filardo 2021-04-21 15:03:02 +01:00
  • a949e37602 ci: move linux_x64 to Ubuntu 20.04 LTS Nathaniel Filardo 2021-04-21 14:27:29 +01:00
  • 8390a70a48 Fix static-sized alloc paths, add compilation test Nathaniel Filardo 2021-04-19 21:01:26 +01:00
  • 59d5b0b9b3 netbsd build fix. getentropy not being guarded, providing prototype even tough we end up using the C++ api version. David Carlier 2021-04-12 19:12:34 +01:00
  • f037bba0a2 SP: remove pal_zero(void*, size_t) Nathaniel Filardo 2021-04-01 00:39:33 +01:00
  • c673b2e0ba SP: pass CBChunk, not CBArena, down to Superslab ops Nathaniel Filardo 2021-04-07 16:52:04 +01:00
  • 95871ff8a1 SP: free lists and remote queues are CBAlloc Nathaniel Filardo 2021-03-13 18:21:35 +00:00
  • cf50fc5e55 SP: mediumslab: reduce capptr_export calls Nathaniel Filardo 2021-03-13 15:20:12 +00:00
  • eff76309f5 SP: bound chunks in address space Nathaniel Filardo 2021-03-12 12:04:53 +00:00
  • f7821e11eb SP: LargeAlloc return CBChunk & chase consequences Nathaniel Filardo 2021-04-01 13:20:17 +01:00
  • 54fec3821f SP: alloc paths: begin using CBAllocE Nathaniel Filardo 2021-03-11 00:50:14 +00:00
  • f2f1eb33d6 SP: amplify on dealloc and query paths Nathaniel Filardo 2021-03-06 18:34:56 +00:00
  • 6a7e82463c SP: MemoryProviderStateMixin, AddressSpaceManager Nathaniel Filardo 2020-11-20 04:02:45 +00:00
  • a9722667ab SP: add ArenaMap Nathaniel Filardo 2021-01-11 12:48:49 +00:00
  • d9822036b2 SP: add bounds placeholders to message queues Nathaniel Filardo 2021-03-08 12:12:02 +00:00
  • 78ab0a7937 SP: external_pointer should not leak authority Nathaniel Filardo 2021-03-06 18:36:11 +00:00
  • 268ef2c059 SP: introduce AAL, PAL methods as per design doc Nathaniel Filardo 2020-11-21 03:23:05 +00:00
  • c5aff8ed74 SP: plumb CapPtr through cache_friendly functions Nathaniel Filardo 2021-03-05 12:57:34 +00:00
  • 97f508e2b3 SP: further CapPtr plumbing Nathaniel Filardo 2021-03-05 12:57:34 +00:00
  • 3541a0cfe1 SP: Allocator::large_alloc return CapPtr<> Nathaniel Filardo 2021-03-23 16:09:23 +00:00
  • e31751fc94 Add workaround for MSVC vs. CapPtr constructor Nathaniel Filardo 2021-04-07 16:58:28 +01:00
  • d9ee19a16c SP: use CapPtr<>s in address_space, largealloc Nathaniel Filardo 2021-03-23 14:56:24 +00:00
  • 005f5787ef SP: start plumbing CapPtr<>s Nathaniel Filardo 2021-03-05 16:46:25 +00:00
  • 313a682faf SP: capptr_bound_chunkd, capptr_chunk_from_chunkd Nathaniel Filardo 2021-03-30 12:19:25 +01:00
  • 294887ad74 SP: introduce CapPtr<> wrapper type & bounds taxonomy Nathaniel Filardo 2020-11-21 03:18:48 +00:00
  • c6036f3808 Add StrictProvenance (SP) design document Nathaniel Filardo 2020-12-16 14:53:53 +00:00
  • cfa996692f Correct PAL Concept Nathaniel Filardo 2021-04-06 22:56:09 +01:00
  • d1acb7979a Improve codegen for start of object. Matthew Parkinson 2021-04-06 12:17:36 +01:00
  • 9ca73b8153 Implementing full permutation of slab Matthew Parkinson 2021-04-04 20:42:05 +01:00
  • 7202f9e091 Handle UB that was not exercised originally. Matthew Parkinson 2021-04-06 09:58:50 +01:00
  • ebe8489910 Size-known large dealloc paths should also round up Nathaniel Filardo 2021-04-03 18:08:39 +01:00
  • 0acf166eec sandbox test: use snmalloc to allocate sandbox arena Nathaniel Filardo 2021-04-01 20:42:54 +01:00
  • 7f841ff081 NFC: Introduce and switch to pal_zero Nathaniel Filardo 2021-04-01 00:07:21 +01:00
  • 4cfcf344fc NFC: LargeAlloc::alloc() take rsize and size both Nathaniel Filardo 2021-04-01 00:29:18 +01:00
  • c94e37f5fc alloc: pass rsize, not size, down to Mediumslab::alloc Nathaniel Filardo 2021-03-31 23:44:03 +01:00
  • a1f17e6060 Mediumslab: pre-factor init() to take explicit self Nathaniel Filardo 2021-03-31 19:56:40 +01:00
  • d1b2522a10 Remove stale get_slab Nathaniel Filardo 2021-03-30 12:29:08 +01:00
  • 88150b497f NFC: style-correct allocslab #include Nathaniel Filardo 2021-04-01 13:10:27 +01:00
  • 52a1a9cce1 Changes to OE Pal. Matthew Parkinson 2021-03-29 09:40:41 +01:00
  • 0377fd88d4 Improve BSDs support. Matthew Parkinson 2021-03-28 20:31:49 +01:00
  • 5419e58633 Add random to Open Enclave Pal Matthew Parkinson 2021-03-26 16:29:15 +00:00
  • cc5f1cfe9f Expose entropy on POSIX platforms Matthew Parkinson 2021-03-26 16:28:41 +00:00
  • 6daa261161 Expose Entropy on Windows Matthew Parkinson 2021-03-26 16:22:53 +00:00
  • f15dc6ee2e Expose Entropy Matthew Parkinson 2021-03-26 16:22:32 +00:00
  • c5b65d07b8 FreeObject: hide harder from the compiler, tweak types Nathaniel Filardo 2021-03-23 18:49:50 +00:00
  • afc6283e01 Threshold freelist wakeup Matthew Parkinson 2021-03-24 16:52:12 +00:00
  • 578abd8db4 Randomise slab allocation pattern (#304) Matthew Parkinson 2021-03-24 16:12:22 +00:00
  • 6442f4edd8 NFC: make Superslab interfaces static Nathaniel Filardo 2021-03-19 15:31:15 +00:00
  • e5a94ed902 NFC: constexpr some subexpressions in ds/bits Nathaniel Filardo 2021-03-23 12:01:05 +00:00
  • 63f231f484 Bug fix for superslab meta-data (#302) Matthew Parkinson 2021-03-23 12:42:11 +00:00
  • 04a185e634 Remove allocated field from Metaslab Matthew Parkinson 2021-03-22 10:52:33 +00:00
  • d56a99a747 Remove USE_MEASURE Matthew Parkinson 2021-03-19 16:37:04 +00:00
  • ca1540c0d9 Remove allow_reserve feature Matthew Parkinson 2021-03-19 16:32:43 +00:00
  • fd7b040823 Align wrapper for array. Matthew Parkinson 2021-03-19 15:25:13 +00:00
  • 8824622136 Better reciprocal division and modulus. Matthew Parkinson 2021-03-19 08:14:12 +00:00
  • 486ef10c21 NFC: bump pointers have just one associated Slab Nathaniel Filardo 2021-03-19 13:49:40 +00:00