summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: a499e15)
raw | patch | inline | side by side (parent: a499e15)
author | Wendy Liang <jliang@xilinx.com> | |
Mon, 6 Feb 2017 20:01:02 +0000 (12:01 -0800) | ||
committer | Wendy Liang <jliang@xilinx.com> | |
Mon, 6 Feb 2017 20:01:02 +0000 (12:01 -0800) |
This patch fix the following to make Zynq work with v4.9 kernel
* remove carveout resource, as we do support master to allocate
firmware memory, instead we need to predefine the firmware memory
for this platform.
* use proc_mem to declare the remote memory
* fix the linker script not to include the memory for vrings and
shared buffers.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
* remove carveout resource, as we do support master to allocate
firmware memory, instead we need to predefine the firmware memory
for this platform.
* use proc_mem to declare the remote memory
* fix the linker script not to include the memory for vrings and
shared buffers.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
apps/machine/zynq7/rsc_table.c | patch | blob | history | |
apps/machine/zynq7/rsc_table.h | patch | blob | history | |
apps/system/generic/machine/zynq7/linker_remote.ld | patch | blob | history |
index 25f864238db0cadabc89ecda8a28bcc1d87eef34..959d49fbe83fe39dce34f966deecee451e3cdd83 100644 (file)
#define VIRTIO_RPMSG_F_NS 0
/* Resource table entries */
#define VIRTIO_RPMSG_F_NS 0
/* Resource table entries */
-#define ELF_START 0x00000000
-#define ELF_END 0x08000000
#define NUM_VRINGS 0x02
#define VRING_ALIGN 0x1000
#define RING_TX 0x08000000
#define NUM_VRINGS 0x02
#define VRING_ALIGN 0x1000
#define RING_TX 0x08000000
#define VRING_SIZE 256
#define NUM_TABLE_ENTRIES 2
#define VRING_SIZE 256
#define NUM_TABLE_ENTRIES 2
-#define CARVEOUT_SRC_OFFSETS offsetof(struct remote_resource_table, elf_cout),
-#define CARVEOUT_SRC { RSC_CARVEOUT, ELF_START, ELF_START, ELF_END, 0, 0, "ELF_COUT", },
struct remote_resource_table __resource resources = {
struct remote_resource_table __resource resources = {
/* Offsets of rsc entries */
{
/* Offsets of rsc entries */
{
- CARVEOUT_SRC_OFFSETS
+ offsetof(struct remote_resource_table, rproc_mem),
offsetof(struct remote_resource_table, rpmsg_vdev),
},
offsetof(struct remote_resource_table, rpmsg_vdev),
},
- /* End of ELF file */
- CARVEOUT_SRC
- /* Virtio device entry */
+ {RSC_RPROC_MEM, 0x200000, 0x200000, 0x100000, 0},
+ /* Virtio device entry */
{RSC_VDEV, VIRTIO_ID_RPMSG_, 0, RPMSG_IPU_C0_FEATURES, 0, 0, 0,
NUM_VRINGS, {0, 0},
},
{RSC_VDEV, VIRTIO_ID_RPMSG_, 0, RPMSG_IPU_C0_FEATURES, 0, 0, 0,
NUM_VRINGS, {0, 0},
},
index 29a41fa53d78990550642c33e9109941033ff255..cd22e3f9077fe3dc4d382a5a651f28e814f79958 100644 (file)
unsigned int num;
unsigned int reserved[2];
unsigned int offset[NO_RESOURCE_ENTRIES];
unsigned int num;
unsigned int reserved[2];
unsigned int offset[NO_RESOURCE_ENTRIES];
- /* text carveout entry */
- struct fw_rsc_carveout elf_cout;
+ /* rproc memory entry */
+ struct fw_rsc_rproc_mem rproc_mem;
/* rpmsg vdev entry */
struct fw_rsc_vdev rpmsg_vdev;
struct fw_rsc_vdev_vring rpmsg_vring0;
/* rpmsg vdev entry */
struct fw_rsc_vdev rpmsg_vdev;
struct fw_rsc_vdev_vring rpmsg_vring0;
diff --git a/apps/system/generic/machine/zynq7/linker_remote.ld b/apps/system/generic/machine/zynq7/linker_remote.ld
index 4e311e9af37a55924943491242d79d5169639d11..1f1501ce3e1de71554a9611bf8a2b559394fed82 100644 (file)
MEMORY
{
MEMORY
{
- ps7_ddr_0_S_AXI_BASEADDR : ORIGIN = 0x00100000, LENGTH = 0x08000000
+ ps7_ddr_0_S_AXI_BASEADDR : ORIGIN = 0x00100000, LENGTH = 0x00080000
ps7_ram_0_S_AXI_BASEADDR : ORIGIN = 0x00000000, LENGTH = 0x00030000
ps7_ram_1_S_AXI_BASEADDR : ORIGIN = 0xFFFF0000, LENGTH = 0x0000FE00
}
ps7_ram_0_S_AXI_BASEADDR : ORIGIN = 0x00000000, LENGTH = 0x00030000
ps7_ram_1_S_AXI_BASEADDR : ORIGIN = 0xFFFF0000, LENGTH = 0x0000FE00
}