Issue 230120.3: Extend Memory Location Descriptions
Author: | Tony Tye |
---|---|
Champion: | Tony Tye |
Date submitted: | 2023-01-20 |
Date revised: | |
Date closed: | |
Type: | Improvement |
Status: | Open |
DWARF version: | 6 |
Section various, pg various
BACKGROUND
The changes proposed below introduce the concept of distinct memory storage for each address space supported by a target architecture, and a default address space for the target architecture. Subsequent proposals will make use of this, allowing memory location descriptions to specify address spaces other than the default one.
PROPOSED CHANGES
In Section 2.6.1.1.2, add the following after the first paragraph:
Each of the target architecture specific address spaces has a corresponding memory location storage that denotes the linear addressable memory of that address space. The size of each memory location storage corresponds to the range of the addresses in the corresponding address space.
It is target architecture defined how address space location storage maps to target architecture physical memory. For example, they may be independent memory, or more than one location storage may alias the same physical memory possibly at different offsets and with different interleaving. The mapping may also be dictated by the source language address classes.
A memory location description specifies a memory location storage. The bit offset corresponds to a bit position within a byte of the memory. Bits accessed using a memory location description, access the corresponding target architecture memory starting at the bit position within the byte specified by the bit offset.
A memory location description that has a bit offset that is a multiple of 8 (the byte size) is defined to be a byte address memory location description. It has a memory byte address
A
that is equal to the bit offset divided by 8.A memory location description that does not have a bit offset that is a multiple of 8 (the byte size) is defined to be a bit field memory location description. It has a bit position
B
equal to the bit offset modulo 8, and a memory byte addressA
equal to the bit offset minusB
that is then divided by 8.The address space
AS
of a memory location description is defined to be the address space that corresponds to the memory location storage associated with the memory location description.A location description that is comprised of one byte address memory location description
SL
is defined to be a memory byte address location description. It has a byte address equal toA
and an address space equal toAS
of the correspondingSL
.