PowerPC 405 After generating the board support package, open the "sysCache.c" and "xparamaters.h" files and add an entry in the PHYS_MEM_DESC sysPhysMemDesc [] table for every peripheral listed in the "xparameters.h" file. There cannot be any overlap of memory, nor duplicate memory entries. Also, the entries must span a page size (4k). The entries will use the instance names defined in the "xparameters.h" file and take a form similar to the following:
#ifdef XPAR_RS232_UART_0_BASEADDR
/* UART 0 */
{
(void *) XPAR_RS232_UART_0_BASEADDR,
(void *) XPAR_RS232_UART_0_BASEADDR,
XPAR_RS232_UART_0_HIGHADDR - XPAR_RS232_UART_0_BASEADDR + 1,
VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE,
VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT
},
#endif
#ifdef XPAR_RS232_UART_1_BASEADDR
/* UART 1 */
{
(void *) XPAR_RS232_UART_1_BASEADDR,
(void *) XPAR_RS232_UART_1_BASEADDR,
XPAR_RS232_UART_1_HIGHADDR - XPAR_RS232_UART_1_BASEADDR + 1,
VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE,
VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT
},
#endif
PowerPC 440 After generating the board support package, open the "sysMmu.c" and "xparamaters.h" files and add an entry in the PHYS_MEM_DESC sysPhysMemDesc [] table for every peripheral listed in the "xparameters.h" file. There cannot be any overlap of memory, nor duplicate memory entries. Also, the entries must span a page size (4k). The entries will use the instance names defined in the "xparameters.h" file and take a form similar to the following:
#ifdef XPAR_RS232_UART_1_BASEADDR
/* UART 1 */
{
(VIRT_ADDR) XPAR_RS232_UART_1_BASEADDR,
(PHYS_ADDR) XPAR_RS232_UART_1_BASEADDR,
XPAR_RS232_UART_1_HIGHADDR - XPAR_RS232_UART_1_BASEADDR + 1,
VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE,
VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT
},
#endif
#ifdef XPAR_INTC_SINGLE_BASEADDR
/* INTC */
{
(VIRT_ADDR) XPAR_INTC_SINGLE_BASEADDR,
(PHYS_ADDR) XPAR_INTC_SINGLE_BASEADDR,
XPAR_INTC_SINGLE_HIGHADDR - XPAR_INTC_SINGLE_BASEADDR + 1,
VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE,
VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT
},
#endif
The "sysMmu.c" file generated in EDK 11.2 contains a couple of example cores. EDK 11.2 is available at:
http://www.xilinx.com/support/download/index.htm