-
Notifications
You must be signed in to change notification settings - Fork 299
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
64-bit device address for fw_rsc_vdev_vring #418
Labels
Comments
Due to the way the resource table is structured, da is restricted to 32-bits. There was some effort at one time to create a 64-bit version of the resource table, but that seems to have stagnated for a year or so. Most of the remote processors that use OpenAMP are restricted to 32-bit addresses as well.
… On Sep 14, 2022, at 2:05 AM, Sam Ho ***@***.***> wrote:
The device-address is uint32_t in
METAL_PACKED_BEGIN
struct fw_rsc_vdev_vring {
uint32_t da;
uint32_t align;
uint32_t num;
uint32_t notifyid;
uint32_t reserved;
} METAL_PACKED_END;
However, in remoteproc_create_virtio()
for (i = 0; i < num_vrings; i++) {
struct fw_rsc_vdev_vring *vring_rsc;
metal_phys_addr_t da;
unsigned int num_descs, align;
struct metal_io_region *io;
void *va;
size_t size;
int ret;
vring_rsc = &vdev_rsc->vring[i];
notifyid = vring_rsc->notifyid;
da = vring_rsc->da;
num_descs = vring_rsc->num;
align = vring_rsc->align;
size = vring_size(num_descs, align);
va = remoteproc_mmap(rproc, NULL, &da, size, 0, &io);
da is in metal_phys_addr_t type, which typedef as unsigned long
In other words, for 64-bit application,
da would be constrain for memory usage.
In Linux, it can be fixed by using rproc_mem_entry_init() with callback.
Is it possible to support 64-bits for open-amp?
Thanks.
—
Reply to this email directly, view it on GitHub <#418>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABYOVHC4IQKGEDSQR4ZQDNLV6GIPLANCNFSM6AAAAAAQMGMCTU>.
You are receiving this because you are subscribed to this thread.
|
This issue has been marked as a stale issue because it has been open (more than) 45 days with no activity. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The device-address is uint32_t in
However, in remoteproc_create_virtio()
da is in metal_phys_addr_t type, which typedef as
unsigned long
In other words, for 64-bit application,
da
would be constrain for memory usage.In Linux, it can be fixed by using rproc_mem_entry_init() with callback.
Is it possible to support 64-bits for open-amp?
Thanks.
The text was updated successfully, but these errors were encountered: