File tree Expand file tree Collapse file tree 4 files changed +21
-15
lines changed
Expand file tree Collapse file tree 4 files changed +21
-15
lines changed Original file line number Diff line number Diff line change 8282// Maximum value as per spec (Power ISA v2.07): 2 ^ 60 bytes, i.e. 1 EiB (exbibyte)
8383static const unsigned int MAXIMUM_MAX_ADDRESS_BIT = 60 ;
8484
85- // Most modern power processors provide an address space with not more than 45 bit addressable bit,
86- // that is an address space of 32 TiB in size.
87- static const unsigned int DEFAULT_MAX_ADDRESS_BIT = 45 ;
88-
89- // Minimum value returned, if probing fails: 64 GiB
90- static const unsigned int MINIMUM_MAX_ADDRESS_BIT = 36 ;
85+ // Default value if probing is not implemented for a certain platform
86+ // Max address bit is restricted by implicit assumptions in the code, for instance
87+ // the bit layout of XForwardingEntry or Partial array entry (see XMarkStackEntry) in mark stack
88+ static const size_t DEFAULT_MAX_ADDRESS_BIT = 46 ;
89+ // Minimum value returned, if probing fails
90+ static const size_t MINIMUM_MAX_ADDRESS_BIT = 36 ;
9191
9292// Determines the highest addressable bit of the virtual address space (depends on platform)
9393// by trying to interact with memory in that address range,
Original file line number Diff line number Diff line change 3535#include < sys/mman.h>
3636#endif // LINUX
3737
38- // Default value if probing is not implemented for a certain platform: 128TB
39- static const size_t DEFAULT_MAX_ADDRESS_BIT = 47 ;
40- // Minimum value returned, if probing fails: 64GB
38+ // Default value if probing is not implemented for a certain platform
39+ // Max address bit is restricted by implicit assumptions in the code, for instance
40+ // the bit layout of ZForwardingEntry or Partial array entry (see ZMarkStackEntry) in mark stack
41+ static const size_t DEFAULT_MAX_ADDRESS_BIT = 46 ;
42+ // Minimum value returned, if probing fail
4143static const size_t MINIMUM_MAX_ADDRESS_BIT = 36 ;
4244
4345static size_t probe_valid_max_address_bit () {
Original file line number Diff line number Diff line change 144144// * 63-48 Fixed (16-bits, always zero)
145145//
146146
147- // Default value if probing is not implemented for a certain platform: 128TB
148- static const size_t DEFAULT_MAX_ADDRESS_BIT = 47 ;
149- // Minimum value returned, if probing fails: 64GB
147+ // Default value if probing is not implemented for a certain platform
148+ // Max address bit is restricted by implicit assumptions in the code, for instance
149+ // the bit layout of XForwardingEntry or Partial array entry (see XMarkStackEntry) in mark stack
150+ static const size_t DEFAULT_MAX_ADDRESS_BIT = 46 ;
151+ // Minimum value returned, if probing fails
150152static const size_t MINIMUM_MAX_ADDRESS_BIT = 36 ;
151153
152154static size_t probe_valid_max_address_bit () {
Original file line number Diff line number Diff line change 3737#include < sys/mman.h>
3838#endif // LINUX
3939
40- // Default value if probe is not implemented for a certain platform: 128TB
41- static const size_t DEFAULT_MAX_ADDRESS_BIT = 47 ;
42- // Minimum value returned, if probing fails: 64GB
40+ // Default value if probing is not implemented for a certain platform
41+ // Max address bit is restricted by implicit assumptions in the code, for instance
42+ // the bit layout of ZForwardingEntry or Partial array entry (see ZMarkStackEntry) in mark stack
43+ static const size_t DEFAULT_MAX_ADDRESS_BIT = 46 ;
44+ // Minimum value returned, if probing fail
4345static const size_t MINIMUM_MAX_ADDRESS_BIT = 36 ;
4446
4547static size_t probe_valid_max_address_bit () {
You can’t perform that action at this time.
0 commit comments