Hi,

I am trying to compile seL4 for the BBB. I am getting the following errors when it gets to timer_service. I am following the instructions at https://github.com/seL4/refos-manifest. I got past another compile error by adding a typedef to device_timer.h for pstimer_t. Any help is appreciated.

// tfp, added to avoid compiler error
typedef uint32_t pstimer_t;

[apps/timer_server] building...
 [HEADERS]
 [STAGE] autoconf.h
 [CC] src/state.o
In file included from /home/users/staff/tpeterson/sel4/beagle/stage/arm/am335x/include/refos-util/device_io.h:22:0,
                 from /home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.h:21,
                 from /home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/state.h:27,
                 from /home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/state.c:24:
/home/users/staff/tpeterson/sel4/beagle/stage/arm/am335x/include/refos-rpc/data_client_helper.h: In function 'data_open_map':
/home/users/staff/tpeterson/sel4/beagle/stage/arm/am335x/include/refos-rpc/data_client_helper.h:95:69: warning: passing argument 6 o   f 'data_open' from incompatible pointer type [-Wincompatible-pointer-types]
     d.dataspace = data_open(session, name, flags, mode, dspaceSize, &errnoRetVal);
                                                                     ^
In file included from /home/users/staff/tpeterson/sel4/beagle/stage/arm/am335x/include/refos-util/device_io.h:21:0,
                 from /home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.h:21,
                 from /home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/state.h:27,
                 from /home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/state.c:24:
/home/users/staff/tpeterson/sel4/beagle/stage/arm/am335x/include/refos-rpc/data_client.h:72:11: note: expected 'int ** (*)()' but ar   gument is of type 'int *'
 seL4_CPtr data_open(seL4_CPtr session, char* name, int flags, int mode, int size, int* errno);
           ^
 [CC] src/device_timer.o
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c: In function 'device_timer_handle_irq':
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:146:5: warning: implicit declaration of function 'timer   _handle_irq' [-Wimplicit-function-declaration]
     timer_handle_irq(s->timerDev, irq);
     ^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c: In function 'device_timer_init':
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:239:5: error: unknown type name 'timer_config_t'
     timer_config_t config;
     ^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:240:11: error: request for member 'vaddr' in something    not a structure or union
     config.vaddr = ps_io_map(&io->opsIO.io_mapper, dm_timer_paddrs[TIMER_ID],
           ^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:240:52: error: 'dm_timer_paddrs' undeclared (first use    in this function)
     config.vaddr = ps_io_map(&io->opsIO.io_mapper, dm_timer_paddrs[TIMER_ID],
                                                    ^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:240:52: note: each undeclared identifier is reported on   ly once for each function it appears in
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:242:11: error: request for member 'irq' in something no   t a structure or union
     config.irq = dm_timer_irqs[TIMER_ID];
           ^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:242:18: error: 'dm_timer_irqs' undeclared (first use in    this function)
     config.irq = dm_timer_irqs[TIMER_ID];
                  ^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:243:16: error: request for member 'vaddr' in something    not a structure or union
     if (!config.vaddr) {
                ^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:248:19: warning: implicit declaration of function 'ps_g   et_timer' [-Wimplicit-function-declaration]
     s->timerDev = ps_get_timer(TIMER_ID, &config);
                   ^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:248:17: warning: assignment makes pointer from integer    without a cast [-Wint-conversion]
     s->timerDev = ps_get_timer(TIMER_ID, &config);
                 ^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:250:11: error: request for member 'vaddr' in something    not a structure or union
     config.vaddr = ps_io_map(&io->opsIO.io_mapper, dm_timer_paddrs[TICK_ID],
           ^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:252:11: error: request for member 'irq' in something no   t a structure or union
     config.irq = dm_timer_irqs[TICK_ID];
           ^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:253:16: error: request for member 'vaddr' in something    not a structure or union
     if (!config.vaddr) {
                ^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:258:16: warning: assignment makes pointer from integer    without a cast [-Wint-conversion]
     s->tickDev = ps_get_timer(TICK_ID, &config);
                ^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:273:41: error: request for member 'properties' in somet   hing not a structure or union
     for (uint32_t i = 0; i < s->timerDev->properties.irqs; i++) {
                                         ^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:274:19: warning: implicit declaration of function 'time   r_get_nth_irq' [-Wimplicit-function-declaration]
         int irq = timer_get_nth_irq(s->timerDev, i);
                   ^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:282:44: error: request for member 'properties' in somet   hing not a structure or union
         for (uint32_t i = 0; i < s->tickDev->properties.irqs; i++) {
                                            ^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:289:21: warning: implicit declaration of function 'time   r_start' [-Wimplicit-function-declaration]
         int error = timer_start(s->tickDev);
                     ^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:310:13: warning: implicit declaration of function 'time   r_periodic' [-Wimplicit-function-declaration]
     error = timer_periodic(s->timerDev, TIMER_PERIODIC_MAX);
             ^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c: In function 'device_timer_get_time':
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:344:21: warning: implicit declaration of function 'time   r_get_time' [-Wimplicit-function-declaration]
     uint64_t time = timer_get_time(s->timerDev);
                     ^
/home/users/staff/tpeterson/sel4/beagle/apps/timer_server/src/device_timer.c:345:21: error: request for member 'properties' in somet   hing not a structure or union
     if (!s->timerDev->properties.upcounter) {
                     ^
make[1]: *** [/home/users/staff/tpeterson/sel4/beagle/stage/arm/am335x/common/common.mk:265: src/device_timer.o] Error 1
make: *** [tools/common/project.mk:331: timer_server] Error 2
Todd Peterson
Chief Embedded Systems Engineer
Management Sciences, Inc.
6022 Constitution Ave NE
Albuquerque, NM 87144
505-255-8611 (office)
505-205-7057 (cell)


This email message and any attachments are for the sole use of the intended recipient(s) and may contain proprietary and/or confidential information which may be privileged or otherwise protected from disclosure. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient(s), please contact the sender by reply email and destroy the original message and any copies of the message as well as any attachments to the original message.