Skip to content
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

Open
samho5888 opened this issue Sep 14, 2022 · 2 comments
Open

64-bit device address for fw_rsc_vdev_vring #418

samho5888 opened this issue Sep 14, 2022 · 2 comments
Labels

Comments

@samho5888
Copy link

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.

@edmooring
Copy link
Contributor

edmooring commented Sep 16, 2022 via email

@github-actions
Copy link

This issue has been marked as a stale issue because it has been open (more than) 45 days with no activity.

@github-actions github-actions bot added the Stale label Oct 15, 2023
@arnopo arnopo reopened this Oct 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants