Timer Code tested

This commit is contained in:
Amit Mahajan
2009-11-26 01:36:28 +05:30
parent d18751fbe8
commit b48f817bd8
6 changed files with 372 additions and 84 deletions

View File

@@ -26,7 +26,7 @@
*/
int platform_setup_device_caps(struct kernel_resources *kres)
{
struct capability *uart[4], *timer[2];
struct capability *uart[4], *timer[4];
/* Setup capabilities for userspace uarts and timers */
uart[1] = alloc_bootmem(sizeof(*uart[1]), 0);
@@ -58,7 +58,8 @@ int platform_setup_device_caps(struct kernel_resources *kres)
/* Setup timer1 capability as free */
timer[1] = alloc_bootmem(sizeof(*timer[1]), 0);
timer[1]->start = __pfn(PB926_TIMER23_BASE);
timer[1]->start =
__pfn(PB926_TIMER01_BASE + PLATFORM_TIMER_REL_OFFSET);
timer[1]->end = timer[1]->start + 1;
timer[1]->size = timer[1]->end - timer[1]->start;
cap_set_devtype(timer[1], CAP_DEVTYPE_TIMER);
@@ -66,6 +67,27 @@ int platform_setup_device_caps(struct kernel_resources *kres)
link_init(&timer[1]->list);
cap_list_insert(timer[1], &kres->devmem_free);
/* Setup timer2 capability as free */
timer[2] = alloc_bootmem(sizeof(*timer[2]), 0);
timer[2]->start = __pfn(PB926_TIMER23_BASE);
timer[2]->end = timer[2]->start + 1;
timer[2]->size = timer[2]->end - timer[2]->start;
cap_set_devtype(timer[2], CAP_DEVTYPE_TIMER);
cap_set_devnum(timer[2], 2);
link_init(&timer[2]->list);
cap_list_insert(timer[2], &kres->devmem_free);
/* Setup timer3 capability as free */
timer[3] = alloc_bootmem(sizeof(*timer[3]), 0);
timer[3]->start =
__pfn(PB926_TIMER23_BASE + PLATFORM_TIMER_REL_OFFSET);
timer[3]->end = timer[3]->start + 1;
timer[3]->size = timer[3]->end - timer[3]->start;
cap_set_devtype(timer[3], CAP_DEVTYPE_TIMER);
cap_set_devnum(timer[3], 3);
link_init(&timer[3]->list);
cap_list_insert(timer[3], &kres->devmem_free);
return 0;
}