by support »
Hello,
The address in a TLP packet is the physical address (as opposed to virtual address) to which the data is written to. For example, if a C program on the processor issues a command like
int *addr = 0x12345678;
*addr = 123;
This will cause a write request TLP to be sent from the processor to the PCIe endpoint with the address field being 0x12345678. This example assumes that no address translation takes place (the MMU is off or transparent on that region) and that the processor considers this address mapped to the PCIe bus.
Hope this clarified.
Regards,
Eli