[LLVMdev] n-bit bytes for clang/llvm
David.Chisnall at cl.cam.ac.uk
Wed Mar 18 05:06:45 PDT 2015
On 18 Mar 2015, at 12:25, Tyro Software <softwaretyro at gmail.com> wrote:
> So if I'm understanding correctly, the CHERI address spaces are equivalent as regards actual memory addresses, with the "fatness" being the type, access, etc metadata? (somehow I'd formed the impression that LLVM address spaces needed to be disjoint)
We're slightly abusing the address space mechanism, but there's no requirement that they be disjoint - if they were then there would be no need for an address space cast instruction. For us, whether they are disjoint is a run-time property: non-capability loads and stores are relative to a global base capability, which may be the entire virtual address space or may be quite restricted.
More information about the llvm-dev