From 5d16090b766a7ba02de70ef7bac468997d7a70da Mon Sep 17 00:00:00 2001 From: Stefan Lankes Date: Sun, 29 May 2011 15:30:34 -0700 Subject: [PATCH] map FPGA registers to the kernel space --- arch/x86/include/asm/SCC_API.h | 3 +++ arch/x86/mm/page.c | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/arch/x86/include/asm/SCC_API.h b/arch/x86/include/asm/SCC_API.h index eb1bf99c..8812fefc 100644 --- a/arch/x86/include/asm/SCC_API.h +++ b/arch/x86/include/asm/SCC_API.h @@ -155,6 +155,9 @@ #define CRB_X5_Y3 0xf7000000 #define CRB_OWN 0xf8000000 +// FPGA registers +#define FPGA_BASE 0xf9000000 + // Symbol for RPC #define RPC_BASE 0xfb000000 diff --git a/arch/x86/mm/page.c b/arch/x86/mm/page.c index 184f8865..a202a1bb 100644 --- a/arch/x86/mm/page.c +++ b/arch/x86/mm/page.c @@ -733,6 +733,10 @@ int arch_paging_init(void) // map SCC's message passing buffers viraddr = map_region(MPB_X0_Y0, MPB_X0_Y0, (MPB_OWN-MPB_X0_Y0+16*1024*1024) >> PAGE_SHIFT, MAP_KERNEL_SPACE|MAP_MPE); kprintf("Map message passing buffers at 0x%x\n", viraddr); + + // map the FPGA registers + viraddr = map_region(FPGA_BASE, FPGA_BASE, (16*1024*1024) >> PAGE_SHIFT, MAP_KERNEL_SPACE|MAP_NO_CACHE); + kprintf("Map FPGA regsiters at 0x%x\n", viraddr); #endif /* enable paging */