File indexing completed on 2026-05-10 08:42:56
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef LLDB_UTILITY_ADDRESSABLEBITS_H
0010 #define LLDB_UTILITY_ADDRESSABLEBITS_H
0011
0012 #include "lldb/lldb-forward.h"
0013 #include "lldb/lldb-public.h"
0014
0015 #include <cstdint>
0016
0017 namespace lldb_private {
0018
0019
0020
0021
0022
0023 class AddressableBits {
0024 public:
0025 AddressableBits() : m_low_memory_addr_bits(0), m_high_memory_addr_bits(0) {}
0026
0027
0028 void SetAddressableBits(uint32_t addressing_bits);
0029
0030
0031
0032 void SetAddressableBits(uint32_t lowmem_addressing_bits,
0033 uint32_t highmem_addressing_bits);
0034
0035 void SetLowmemAddressableBits(uint32_t lowmem_addressing_bits);
0036
0037 uint32_t GetLowmemAddressableBits() const;
0038
0039 void SetHighmemAddressableBits(uint32_t highmem_addressing_bits);
0040
0041 uint32_t GetHighmemAddressableBits() const;
0042
0043 static lldb::addr_t AddressableBitToMask(uint32_t addressable_bits);
0044
0045 private:
0046 uint32_t m_low_memory_addr_bits;
0047 uint32_t m_high_memory_addr_bits;
0048 };
0049
0050 }
0051
0052 #endif