Skip to content

Regressions in space.h #15

@vmlemon

Description

@vmlemon

Since bringing the bulk of the work for #9 to a close, we now seem to have introduced regressions in space.h, or the infrastructure responsible for generating it:

tyson@tyson-Lenovo-ideapad-120S-14IAP:~/Orion/kernel/ubd$ make
make[1]: Entering directory '/home/tyson/Orion/kernel/ubd'
===> Building dependencies
===> Generating include/tcb_layout.h
In file included from /home/tyson/Orion/kernel/src/api/v4/space.h:37,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:42,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:199:37: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT(cpu < CONFIG_SMP_MAX_CPUS);
                                     ^
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:247:29: error: macro "ASSERT" requires 2 arguments, but only 1 given
  ASSERT (is_copy_area (addr));
                             ^
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:292:36: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT (data.thread_count !=  0);
                                    ^
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:309:37: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT(cpu < CONFIG_SMP_MAX_CPUS);
                                     ^
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:20,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:53:48: error: macro "SYS_IPC" requires 3 arguments, but only 2 given
 SYS_IPC (threadid_t to_tid, threadid_t from_tid);
                                                ^
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:76:59: error: macro "SYS_THREAD_CONTROL" passed 7 arguments, but takes just 5
       threadid_t recv_redirector_tid, word_t utcb_location);
                                                           ^
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:90:40: error: macro "SYS_EXCHANGE_REGISTERS" requires 8 arguments, but only 7 given
    word_t uhandle, threadid_t pager_tid);
                                        ^
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:125:23: error: macro "SYS_SPACE_CONTROL" requires 5 arguments, but only 4 given
      fpage_t utcb_area);
                       ^
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:21,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:27:32: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT (n < COPY_AREA_COUNT);
                                ^
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:42:32: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT (n < COPY_AREA_COUNT);
                                ^
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:48:32: error: macro "ASSERT" requires 2 arguments, but only 1 given
  ASSERT (pdir_idx[n][i] != ~0UL);
                                ^
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:63:32: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT (n < COPY_AREA_COUNT);
                                ^
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:64:32: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT (p < COPY_AREA_PDIRS);
                                ^
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:113:33: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT (n <= COPY_AREA_COUNT);
                                 ^
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:22,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:52:39: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT(start + count <= IPC_NUM_MR);
                                       ^
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:53:21: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT(count > 0);
                     ^
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:58:25: error: macro "ASSERT" requires 2 arguments, but only 1 given
  ASSERT(this->pdir_cache);
                         ^
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:94:30: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT(index < IPC_NUM_MR);
                              ^
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:105:30: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT(index < IPC_NUM_MR);
                              ^
In file included from /home/tyson/Orion/kernel/src/api/v4/space.h:37,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:42,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h: In member function ‘x86_space_t::top_pdir_t* space_t::get_top_pdir(cpuid_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:199:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT(cpu < CONFIG_SMP_MAX_CPUS);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h: In member function ‘word_t space_t::get_copy_limit(addr_t, word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:247:2: error: ‘ASSERT’ was not declared in this scope
  ASSERT (is_copy_area (addr));
  ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h: In member function ‘bool space_t::remove_tcb(tcb_t*, cpuid_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:292:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT (data.thread_count !=  0);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h: In member function ‘pgent_t* space_t::pgent(word_t, word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:309:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT(cpu < CONFIG_SMP_MAX_CPUS);
     ^~~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:51,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h: At global scope:
/home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h:49:16: error: ‘IPC_NUM_BR’ was not declared in this scope
     word_t  br[IPC_NUM_BR];  /* -196 .. -64 */
                ^~~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h:59:5: error: ‘timeout_t’ does not name a type
     timeout_t  xfer_timeout;  /* -32  */
     ^~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h:64:16: error: ‘IPC_NUM_MR’ was not declared in this scope
     word_t  mr[IPC_NUM_MR];  /* 0 .. 252 */
                ^~~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h:82:5: error: ‘timeout_t’ does not name a type
     timeout_t get_xfer_timeout();
     ^~~~~~~~~
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h:89,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:51,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/generic-utcb.h:96:8: error: ‘timeout_t’ does not name a type
 INLINE timeout_t utcb_t::get_xfer_timeout()
        ^~~~~~~~~
In file included from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘tcb_t* tcb_t::get_partner_tcb()’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:425:31: error: ‘class space_t’ has no member named ‘get_tcb’; did you mean ‘add_tcb’?
     return this->get_space()->get_tcb(partner);
                               ^~~~~~~
                               add_tcb
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::clear_notify_bits()’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:570:14: error: ‘class utcb_t’ has no member named ‘notify_bits’
  get_utcb()->notify_bits = 0;
              ^~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::add_notify_bits(word_t)’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:578:14: error: ‘class utcb_t’ has no member named ‘notify_bits’
  get_utcb()->notify_bits |= bits;
              ^~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::sub_notify_bits(word_t)’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:586:14: error: ‘class utcb_t’ has no member named ‘notify_bits’
  get_utcb()->notify_bits &= ~(bits);
              ^~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘word_t tcb_t::get_notify_bits()’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:594:24: error: ‘class utcb_t’ has no member named ‘notify_bits’
     return get_utcb()->notify_bits;
                        ^~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘word_t tcb_t::get_notify_mask()’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:602:24: error: ‘class utcb_t’ has no member named ‘notify_mask’; did you mean ‘word_size_mask’?
     return get_utcb()->notify_mask;
                        ^~~~~~~~~~~
                        word_size_mask
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::set_notify_mask(word_t)’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:611:17: error: ‘class utcb_t’ has no member named ‘notify_mask’; did you mean ‘word_size_mask’?
     get_utcb()->notify_mask = mask;
                 ^~~~~~~~~~~
                 word_size_mask
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:20,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/syscalls.h: At global scope:
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:53:1: error: ‘SYS_IPC’ does not name a type
 SYS_IPC (threadid_t to_tid, threadid_t from_tid);
 ^~~~~~~
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:73:1: error: ‘SYS_THREAD_CONTROL’ does not name a type
 SYS_THREAD_CONTROL (threadid_t dest_tid, threadid_t space_tid,
 ^~~~~~~~~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:88:1: error: ‘SYS_EXCHANGE_REGISTERS’ does not name a type
 SYS_EXCHANGE_REGISTERS (threadid_t dest_tid, word_t control,
 ^~~~~~~~~~~~~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:124:1: error: ‘SYS_SPACE_CONTROL’ does not name a type
 SYS_SPACE_CONTROL (threadid_t space_tid, word_t control, fpage_t kip_area,
 ^~~~~~~~~~~~~~~~~
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:21,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h: In member function ‘void* thread_resources_t::copy_area_address(word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:27:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT (n < COPY_AREA_COUNT);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h: In member function ‘void* thread_resources_t::copy_area_real_address(word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:42:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT (n < COPY_AREA_COUNT);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h: In member function ‘word_t thread_resources_t::copy_area_pdir_idx(word_t, word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:63:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT (n < COPY_AREA_COUNT);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h: In member function ‘void thread_resources_t::enable_copy_area(tcb_t*, void**, tcb_t*, void**)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:113:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT (n <= COPY_AREA_COUNT);
     ^~~~~~
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:22,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h: In member function ‘void tcb_t::copy_mrs(tcb_t*, word_t, word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:52:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT(start + count <= IPC_NUM_MR);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:64:31: error: ‘class utcb_t’ has no member named ‘mr’
  "c"(count), "S"(&get_utcb()->mr[start]),
                               ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:65:25: error: ‘class utcb_t’ has no member named ‘mr’
  "D"(&dest->get_utcb()->mr[start]));
                         ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h: At global scope:
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:364:13: error: no declaration matches ‘void tcb_t::arch_init_root_server(space_t*, word_t, word_t)’
 INLINE void tcb_t::arch_init_root_server (space_t * space, word_t ip, word_t sp)
             ^~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:364:13: note: no functions named ‘void tcb_t::arch_init_root_server(space_t*, word_t, word_t)’
In file included from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: In member function ‘void tcb_t::set_cpu(cpuid_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:58:2: error: ‘ASSERT’ was not declared in this scope
  ASSERT(this->pdir_cache);
  ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:65:11: error: ‘class tcb_t’ has no member named ‘cpu’
     this->cpu = cpu;
           ^~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: In member function ‘void tcb_t::set_utcb_location(word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:78:5: error: ‘myself_local’ was not declared in this scope
     myself_local.set_raw (utcb_location + ((word_t)&dummy->mr[0]));
     ^~~~~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:78:5: note: suggested alternative: ‘myself_global’
     myself_local.set_raw (utcb_location + ((word_t)&dummy->mr[0]));
     ^~~~~~~~~~~~
     myself_global
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:78:60: error: ‘class utcb_t’ has no member named ‘mr’
     myself_local.set_raw (utcb_location + ((word_t)&dummy->mr[0]));
                                                            ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: In member function ‘word_t tcb_t::get_utcb_location()’:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:84:12: error: ‘myself_local’ was not declared in this scope
     return myself_local.get_raw() - ((word_t)&dummy->mr[0]);
            ^~~~~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:84:12: note: suggested alternative: ‘myself_global’
     return myself_local.get_raw() - ((word_t)&dummy->mr[0]);
            ^~~~~~~~~~~~
            myself_global
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:84:54: error: ‘class utcb_t’ has no member named ‘mr’
     return myself_local.get_raw() - ((word_t)&dummy->mr[0]);
                                                      ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: In member function ‘word_t tcb_t::get_mr(word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:94:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT(index < IPC_NUM_MR);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:95:24: error: ‘class utcb_t’ has no member named ‘mr’
     return get_utcb()->mr[index];
                        ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: In member function ‘void tcb_t::set_mr(word_t, word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:105:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT(index < IPC_NUM_MR);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:106:17: error: ‘class utcb_t’ has no member named ‘mr’
     get_utcb()->mr[index] = value;
                 ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: At global scope:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:115:15: error: no declaration matches ‘word_t tcb_t::get_br(word_t)’
 INLINE word_t tcb_t::get_br(word_t index)
               ^~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:115:15: note: no functions named ‘word_t tcb_t::get_br(word_t)’
In file included from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:126:13: error: no declaration matches ‘void tcb_t::set_br(word_t, word_t)’
 INLINE void tcb_t::set_br(word_t index, word_t value)
             ^~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:126:13: note: no functions named ‘void tcb_t::set_br(word_t, word_t)’
In file included from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:209:13: error: no declaration matches ‘void tcb_t::adjust_for_copy_area(tcb_t*, void**, void**)’
 INLINE void tcb_t::adjust_for_copy_area (tcb_t * dst,
             ^~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:209:13: note: no functions named ‘void tcb_t::adjust_for_copy_area(tcb_t*, void**, void**)’
In file included from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:219:13: error: no declaration matches ‘void tcb_t::release_copy_area()’
 INLINE void tcb_t::release_copy_area (void)
             ^~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:219:13: note: no functions named ‘void tcb_t::release_copy_area()’
In file included from /home/tyson/Orion/kernel/ubd/_1568046587_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
/home/tyson/Orion/kernel/ubd/_1568046587_123.c: In function ‘void make_offsets()’:
/home/tyson/Orion/kernel/ubd/_1568046587_123.c:51:51: error: ‘class tcb_t’ has no member named ‘sched_state’; did you mean ‘saved_state’?
    O(OFS_TCB_SCHED_STATE_SCHEDULER,offsetof(tcb_t,sched_state.scheduler));
                                                   ^~~~~~~~~~~
/home/tyson/Orion/kernel/ubd/_1568046587_123.c:12:84: note: in definition of macro ‘O’
 #define O(sym,value) __asm__ __volatile__ ("\n#define " MKSTR(sym) " %0 " : : "i" (value));
                                                                                    ^~~~~
/home/tyson/Orion/kernel/ubd/_1568046587_123.c:51:36: note: in expansion of macro ‘offsetof’
    O(OFS_TCB_SCHED_STATE_SCHEDULER,offsetof(tcb_t,sched_state.scheduler));
                                    ^~~~~~~~
/home/tyson/Orion/kernel/ubd/_1568046587_123.c:54:34: error: ‘class utcb_t’ has no member named ‘br’
    O(OFS_UTCB_BR,offsetof(utcb_t,br));
                                  ^~
/home/tyson/Orion/kernel/ubd/_1568046587_123.c:12:84: note: in definition of macro ‘O’
 #define O(sym,value) __asm__ __volatile__ ("\n#define " MKSTR(sym) " %0 " : : "i" (value));
                                                                                    ^~~~~
/home/tyson/Orion/kernel/ubd/_1568046587_123.c:54:18: note: in expansion of macro ‘offsetof’
    O(OFS_UTCB_BR,offsetof(utcb_t,br));
                  ^~~~~~~~
/home/tyson/Orion/kernel/ubd/_1568046587_123.c:64:44: error: ‘class utcb_t’ has no member named ‘xfer_timeout’
    O(OFS_UTCB_XFER_TIMEOUT,offsetof(utcb_t,xfer_timeout));
                                            ^~~~~~~~~~~~
/home/tyson/Orion/kernel/ubd/_1568046587_123.c:12:84: note: in definition of macro ‘O’
 #define O(sym,value) __asm__ __volatile__ ("\n#define " MKSTR(sym) " %0 " : : "i" (value));
                                                                                    ^~~~~
/home/tyson/Orion/kernel/ubd/_1568046587_123.c:64:28: note: in expansion of macro ‘offsetof’
    O(OFS_UTCB_XFER_TIMEOUT,offsetof(utcb_t,xfer_timeout));
                            ^~~~~~~~
/home/tyson/Orion/kernel/ubd/_1568046587_123.c:69:34: error: ‘class utcb_t’ has no member named ‘mr’
    O(OFS_UTCB_MR,offsetof(utcb_t,mr));
                                  ^~
/home/tyson/Orion/kernel/ubd/_1568046587_123.c:12:84: note: in definition of macro ‘O’
 #define O(sym,value) __asm__ __volatile__ ("\n#define " MKSTR(sym) " %0 " : : "i" (value));
                                                                                    ^~~~~
/home/tyson/Orion/kernel/ubd/_1568046587_123.c:69:18: note: in expansion of macro ‘offsetof’
    O(OFS_UTCB_MR,offsetof(utcb_t,mr));
                  ^~~~~~~~
===> src/arch/x86/x64/init32.cc
cd src/arch/x86/x64/ &&  gcc  -nostdinc -I/home/tyson/Orion/kernel/ubd/include -I/home/tyson/Orion/kernel/src -I/home/tyson/Orion/kernel/src/generic -I/usr/lib/gcc/x86_64-linux-gnu/8/include/ -Ux64 -Ux86 -Up4 -Upc99 -Uv4 -Urr -D__SUBARCH__=x64 -D__ARCH__=x86 -D__CPU__=p4 -D__PLATFORM__=pc99 -D__API__=v4 -D__SCHED__=rr -imacros /home/tyson/Orion/kernel/ubd/config/config.h -imacros /home/tyson/Orion/kernel/src/generic/macros.h -include /home/tyson/Orion/kernel/src/generic/config.h  -include /home/tyson/Orion/kernel/src/generic/types.h -DX64_32BIT_CODE   -fno-rtti -fno-builtin  -fomit-frame-pointer -fno-exceptions -Wall -Wno-non-virtual-dtor -Wno-format -O2  -m32   -mno-red-zone -fno-pie  -fno-stack-protector -lssp  -mno-mmx -mno-sse -mno-sse2 -mno-sse3    -Wconversion -x c++ -c /home/tyson/Orion/kernel/src/arch/x86/x64/init32.cc -o init32.o
In file included from /home/tyson/Orion/kernel/src/arch/x86/x64/init32.cc:40:
/home/tyson/Orion/kernel/src/arch/x86/mmu.h: In static member function ‘static void x86_mmu_t::enable_long_mode()’:
/home/tyson/Orion/kernel/src/arch/x86/mmu.h:170:28: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘word_t’ {aka ‘unsigned int’} may change value [-Wconversion]
     word_t efer = x86_rdmsr(X86_MSR_EFER);
                   ~~~~~~~~~^~~~~~~~~~~~~~
/home/tyson/Orion/kernel/src/arch/x86/mmu.h: In static member function ‘static bool x86_mmu_t::long_mode_active()’:
/home/tyson/Orion/kernel/src/arch/x86/mmu.h:182:28: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘word_t’ {aka ‘unsigned int’} may change value [-Wconversion]
     word_t efer = x86_rdmsr(X86_MSR_EFER);
                   ~~~~~~~~~^~~~~~~~~~~~~~
In file included from /home/tyson/Orion/kernel/src/arch/x86/segdesc.h:20,
                 from /home/tyson/Orion/kernel/src/arch/x86/x64/init32.cc:41:
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h: In member function ‘void x86_segdesc_t::set_seg(u64_t, x86_segdesc_t::segtype_e, int, x86_segdesc_t::mode_e, x86_segdesc_t::msr_e)’:
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h:80:17: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘unsigned char:4’ may change value [-Wconversion]
      x.d.type = type;
                 ^~~~
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h:81:17: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
      x.d.l    = mode;
                 ^~~~
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h:82:17: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘unsigned char:2’ may change value [-Wconversion]
      x.d.dpl  = dpl;
                 ^~~
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h: In member function ‘void x86_segdesc_t::set_seg(u32_t, x86_segdesc_t::segtype_e, int, x86_segdesc_t::mode_e)’:
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h:99:36: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘unsigned char’ may change value [-Wconversion]
      x.d.base_high  = (base >> 24) & 0xFF;
                       ~~~~~~~~~~~~~^~~~~~
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h:101:17: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘unsigned char:4’ may change value [-Wconversion]
      x.d.type = type;
                 ^~~~
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h:102:17: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘unsigned char:1’ may change value [-Wconversion]
      x.d.l    = mode;
                 ^~~~
/home/tyson/Orion/kernel/src/arch/x86/x64/segdesc.h:103:16: warning: conversion from ‘u64_t’ {aka ‘long long unsigned int’} to ‘unsigned char:2’ may change value [-Wconversion]
      x.d.dpl = dpl;
                ^~~
cd src/arch/x86/x64/ && objcopy -g -O elf64-x86-64  init32.o init32.o
===> src/arch/x86/x64/cpu.cc
cd src/arch/x86/x64/ &&  gcc  -nostdinc -I/home/tyson/Orion/kernel/ubd/include -I/home/tyson/Orion/kernel/src -I/home/tyson/Orion/kernel/src/generic -I/usr/lib/gcc/x86_64-linux-gnu/8/include/ -Ux64 -Ux86 -Up4 -Upc99 -Uv4 -Urr -D__SUBARCH__=x64 -D__ARCH__=x86 -D__CPU__=p4 -D__PLATFORM__=pc99 -D__API__=v4 -D__SCHED__=rr -imacros /home/tyson/Orion/kernel/ubd/config/config.h -imacros /home/tyson/Orion/kernel/src/generic/macros.h -include /home/tyson/Orion/kernel/src/generic/config.h  -include /home/tyson/Orion/kernel/src/generic/types.h -fno-rtti -fno-builtin  -fomit-frame-pointer -fno-exceptions -Wall -Wno-non-virtual-dtor -Wno-format -O2 -m64 -mcmodel=kernel -mno-red-zone -fno-pie  -fno-stack-protector -lssp  -mno-mmx -mno-sse -mno-sse2 -mno-sse3    -Wconversion  -c /home/tyson/Orion/kernel/src/arch/x86/x64/cpu.cc
/home/tyson/Orion/kernel/src/arch/x86/x64/cpu.cc: In constructor ‘x86_x64_cpu_features_t::x86_x64_cpu_features_t()’:
/home/tyson/Orion/kernel/src/arch/x86/x64/cpu.cc:66:25: warning: conversion from ‘u32_t’ {aka ‘unsigned int’} to ‘u8_t’ {aka ‘unsigned char’} may change value [-Wconversion]
  apic_id = ((ebx >> 24) & 0xFF);
            ~~~~~~~~~~~~~^~~~~~~
make[1]: *** No rule to make target '/home/tyson/Orion/kernel/ubd/include/tcb_layout.h', needed by 'tcb_layout.h'. Stop.
make[1]: Leaving directory '/home/tyson/Orion/kernel/ubd'
make: *** [Makefile:38: all] Error 2
tyson@tyson-Lenovo-ideapad-120S-14IAP:~/Orion/kernel/ubd$ make
make[1]: Entering directory '/home/tyson/Orion/kernel/ubd'
===> Generating include/tcb_layout.h
In file included from /home/tyson/Orion/kernel/src/api/v4/space.h:37,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:42,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:199:37: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT(cpu < CONFIG_SMP_MAX_CPUS);
                                     ^
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:247:29: error: macro "ASSERT" requires 2 arguments, but only 1 given
  ASSERT (is_copy_area (addr));
                             ^
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:292:36: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT (data.thread_count !=  0);
                                    ^
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:309:37: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT(cpu < CONFIG_SMP_MAX_CPUS);
                                     ^
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:20,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:53:48: error: macro "SYS_IPC" requires 3 arguments, but only 2 given
 SYS_IPC (threadid_t to_tid, threadid_t from_tid);
                                                ^
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:76:59: error: macro "SYS_THREAD_CONTROL" passed 7 arguments, but takes just 5
       threadid_t recv_redirector_tid, word_t utcb_location);
                                                           ^
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:90:40: error: macro "SYS_EXCHANGE_REGISTERS" requires 8 arguments, but only 7 given
    word_t uhandle, threadid_t pager_tid);
                                        ^
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:125:23: error: macro "SYS_SPACE_CONTROL" requires 5 arguments, but only 4 given
      fpage_t utcb_area);
                       ^
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:21,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:27:32: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT (n < COPY_AREA_COUNT);
                                ^
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:42:32: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT (n < COPY_AREA_COUNT);
                                ^
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:48:32: error: macro "ASSERT" requires 2 arguments, but only 1 given
  ASSERT (pdir_idx[n][i] != ~0UL);
                                ^
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:63:32: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT (n < COPY_AREA_COUNT);
                                ^
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:64:32: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT (p < COPY_AREA_PDIRS);
                                ^
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:113:33: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT (n <= COPY_AREA_COUNT);
                                 ^
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:22,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:52:39: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT(start + count <= IPC_NUM_MR);
                                       ^
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:53:21: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT(count > 0);
                     ^
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:58:25: error: macro "ASSERT" requires 2 arguments, but only 1 given
  ASSERT(this->pdir_cache);
                         ^
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:94:30: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT(index < IPC_NUM_MR);
                              ^
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:105:30: error: macro "ASSERT" requires 2 arguments, but only 1 given
     ASSERT(index < IPC_NUM_MR);
                              ^
In file included from /home/tyson/Orion/kernel/src/api/v4/space.h:37,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:42,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h: In member function ‘x86_space_t::top_pdir_t* space_t::get_top_pdir(cpuid_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:199:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT(cpu < CONFIG_SMP_MAX_CPUS);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h: In member function ‘word_t space_t::get_copy_limit(addr_t, word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:247:2: error: ‘ASSERT’ was not declared in this scope
  ASSERT (is_copy_area (addr));
  ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h: In member function ‘bool space_t::remove_tcb(tcb_t*, cpuid_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:292:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT (data.thread_count !=  0);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h: In member function ‘pgent_t* space_t::pgent(word_t, word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/space.h:309:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT(cpu < CONFIG_SMP_MAX_CPUS);
     ^~~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:51,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h: At global scope:
/home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h:49:16: error: ‘IPC_NUM_BR’ was not declared in this scope
     word_t  br[IPC_NUM_BR];  /* -196 .. -64 */
                ^~~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h:59:5: error: ‘timeout_t’ does not name a type
     timeout_t  xfer_timeout;  /* -32  */
     ^~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h:64:16: error: ‘IPC_NUM_MR’ was not declared in this scope
     word_t  mr[IPC_NUM_MR];  /* 0 .. 252 */
                ^~~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h:82:5: error: ‘timeout_t’ does not name a type
     timeout_t get_xfer_timeout();
     ^~~~~~~~~
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/utcb.h:89,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:51,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/generic-utcb.h:96:8: error: ‘timeout_t’ does not name a type
 INLINE timeout_t utcb_t::get_xfer_timeout()
        ^~~~~~~~~
In file included from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘tcb_t* tcb_t::get_partner_tcb()’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:425:31: error: ‘class space_t’ has no member named ‘get_tcb’; did you mean ‘add_tcb’?
     return this->get_space()->get_tcb(partner);
                               ^~~~~~~
                               add_tcb
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::clear_notify_bits()’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:570:14: error: ‘class utcb_t’ has no member named ‘notify_bits’
  get_utcb()->notify_bits = 0;
              ^~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::add_notify_bits(word_t)’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:578:14: error: ‘class utcb_t’ has no member named ‘notify_bits’
  get_utcb()->notify_bits |= bits;
              ^~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::sub_notify_bits(word_t)’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:586:14: error: ‘class utcb_t’ has no member named ‘notify_bits’
  get_utcb()->notify_bits &= ~(bits);
              ^~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘word_t tcb_t::get_notify_bits()’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:594:24: error: ‘class utcb_t’ has no member named ‘notify_bits’
     return get_utcb()->notify_bits;
                        ^~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘word_t tcb_t::get_notify_mask()’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:602:24: error: ‘class utcb_t’ has no member named ‘notify_mask’; did you mean ‘word_size_mask’?
     return get_utcb()->notify_mask;
                        ^~~~~~~~~~~
                        word_size_mask
/home/tyson/Orion/kernel/src/api/v4/tcb.h: In member function ‘void tcb_t::set_notify_mask(word_t)’:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:611:17: error: ‘class utcb_t’ has no member named ‘notify_mask’; did you mean ‘word_size_mask’?
     get_utcb()->notify_mask = mask;
                 ^~~~~~~~~~~
                 word_size_mask
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:20,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/syscalls.h: At global scope:
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:53:1: error: ‘SYS_IPC’ does not name a type
 SYS_IPC (threadid_t to_tid, threadid_t from_tid);
 ^~~~~~~
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:73:1: error: ‘SYS_THREAD_CONTROL’ does not name a type
 SYS_THREAD_CONTROL (threadid_t dest_tid, threadid_t space_tid,
 ^~~~~~~~~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:88:1: error: ‘SYS_EXCHANGE_REGISTERS’ does not name a type
 SYS_EXCHANGE_REGISTERS (threadid_t dest_tid, word_t control,
 ^~~~~~~~~~~~~~~~~~~~~~
/home/tyson/Orion/kernel/src/api/v4/syscalls.h:124:1: error: ‘SYS_SPACE_CONTROL’ does not name a type
 SYS_SPACE_CONTROL (threadid_t space_tid, word_t control, fpage_t kip_area,
 ^~~~~~~~~~~~~~~~~
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:21,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h: In member function ‘void* thread_resources_t::copy_area_address(word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:27:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT (n < COPY_AREA_COUNT);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h: In member function ‘void* thread_resources_t::copy_area_real_address(word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:42:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT (n < COPY_AREA_COUNT);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h: In member function ‘word_t thread_resources_t::copy_area_pdir_idx(word_t, word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:63:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT (n < COPY_AREA_COUNT);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h: In member function ‘void thread_resources_t::enable_copy_area(tcb_t*, void**, tcb_t*, void**)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/resource_functions.h:113:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT (n <= COPY_AREA_COUNT);
     ^~~~~~
In file included from /home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:22,
                 from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h: In member function ‘void tcb_t::copy_mrs(tcb_t*, word_t, word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:52:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT(start + count <= IPC_NUM_MR);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:64:31: error: ‘class utcb_t’ has no member named ‘mr’
  "c"(count), "S"(&get_utcb()->mr[start]),
                               ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:65:25: error: ‘class utcb_t’ has no member named ‘mr’
  "D"(&dest->get_utcb()->mr[start]));
                         ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h: At global scope:
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:364:13: error: no declaration matches ‘void tcb_t::arch_init_root_server(space_t*, word_t, word_t)’
 INLINE void tcb_t::arch_init_root_server (space_t * space, word_t ip, word_t sp)
             ^~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/x64/tcb.h:364:13: note: no functions named ‘void tcb_t::arch_init_root_server(space_t*, word_t, word_t)’
In file included from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: In member function ‘void tcb_t::set_cpu(cpuid_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:58:2: error: ‘ASSERT’ was not declared in this scope
  ASSERT(this->pdir_cache);
  ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:65:11: error: ‘class tcb_t’ has no member named ‘cpu’
     this->cpu = cpu;
           ^~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: In member function ‘void tcb_t::set_utcb_location(word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:78:5: error: ‘myself_local’ was not declared in this scope
     myself_local.set_raw (utcb_location + ((word_t)&dummy->mr[0]));
     ^~~~~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:78:5: note: suggested alternative: ‘myself_global’
     myself_local.set_raw (utcb_location + ((word_t)&dummy->mr[0]));
     ^~~~~~~~~~~~
     myself_global
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:78:60: error: ‘class utcb_t’ has no member named ‘mr’
     myself_local.set_raw (utcb_location + ((word_t)&dummy->mr[0]));
                                                            ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: In member function ‘word_t tcb_t::get_utcb_location()’:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:84:12: error: ‘myself_local’ was not declared in this scope
     return myself_local.get_raw() - ((word_t)&dummy->mr[0]);
            ^~~~~~~~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:84:12: note: suggested alternative: ‘myself_global’
     return myself_local.get_raw() - ((word_t)&dummy->mr[0]);
            ^~~~~~~~~~~~
            myself_global
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:84:54: error: ‘class utcb_t’ has no member named ‘mr’
     return myself_local.get_raw() - ((word_t)&dummy->mr[0]);
                                                      ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: In member function ‘word_t tcb_t::get_mr(word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:94:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT(index < IPC_NUM_MR);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:95:24: error: ‘class utcb_t’ has no member named ‘mr’
     return get_utcb()->mr[index];
                        ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: In member function ‘void tcb_t::set_mr(word_t, word_t)’:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:105:5: error: ‘ASSERT’ was not declared in this scope
     ASSERT(index < IPC_NUM_MR);
     ^~~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:106:17: error: ‘class utcb_t’ has no member named ‘mr’
     get_utcb()->mr[index] = value;
                 ^~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h: At global scope:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:115:15: error: no declaration matches ‘word_t tcb_t::get_br(word_t)’
 INLINE word_t tcb_t::get_br(word_t index)
               ^~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:115:15: note: no functions named ‘word_t tcb_t::get_br(word_t)’
In file included from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:126:13: error: no declaration matches ‘void tcb_t::set_br(word_t, word_t)’
 INLINE void tcb_t::set_br(word_t index, word_t value)
             ^~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:126:13: note: no functions named ‘void tcb_t::set_br(word_t, word_t)’
In file included from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:209:13: error: no declaration matches ‘void tcb_t::adjust_for_copy_area(tcb_t*, void**, void**)’
 INLINE void tcb_t::adjust_for_copy_area (tcb_t * dst,
             ^~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:209:13: note: no functions named ‘void tcb_t::adjust_for_copy_area(tcb_t*, void**, void**)’
In file included from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
In file included from /home/tyson/Orion/kernel/src/api/v4/tcb.h:707,
                 from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:219:13: error: no declaration matches ‘void tcb_t::release_copy_area()’
 INLINE void tcb_t::release_copy_area (void)
             ^~~~~
/home/tyson/Orion/kernel/src/glue/v4-x86/tcb.h:219:13: note: no functions named ‘void tcb_t::release_copy_area()’
In file included from /home/tyson/Orion/kernel/ubd/_1568046679_123.c:2:
/home/tyson/Orion/kernel/src/api/v4/tcb.h:60:7: note: ‘class tcb_t’ defined here
 class tcb_t
       ^~~~~
/home/tyson/Orion/kernel/ubd/_1568046679_123.c: In function ‘void make_offsets()’:
/home/tyson/Orion/kernel/ubd/_1568046679_123.c:51:51: error: ‘class tcb_t’ has no member named ‘sched_state’; did you mean ‘saved_state’?
    O(OFS_TCB_SCHED_STATE_SCHEDULER,offsetof(tcb_t,sched_state.scheduler));
                                                   ^~~~~~~~~~~
/home/tyson/Orion/kernel/ubd/_1568046679_123.c:12:84: note: in definition of macro ‘O’
 #define O(sym,value) __asm__ __volatile__ ("\n#define " MKSTR(sym) " %0 " : : "i" (value));
                                                                                    ^~~~~
/home/tyson/Orion/kernel/ubd/_1568046679_123.c:51:36: note: in expansion of macro ‘offsetof’
    O(OFS_TCB_SCHED_STATE_SCHEDULER,offsetof(tcb_t,sched_state.scheduler));
                                    ^~~~~~~~
/home/tyson/Orion/kernel/ubd/_1568046679_123.c:54:34: error: ‘class utcb_t’ has no member named ‘br’
    O(OFS_UTCB_BR,offsetof(utcb_t,br));
                                  ^~
/home/tyson/Orion/kernel/ubd/_1568046679_123.c:12:84: note: in definition of macro ‘O’
 #define O(sym,value) __asm__ __volatile__ ("\n#define " MKSTR(sym) " %0 " : : "i" (value));
                                                                                    ^~~~~
/home/tyson/Orion/kernel/ubd/_1568046679_123.c:54:18: note: in expansion of macro ‘offsetof’
    O(OFS_UTCB_BR,offsetof(utcb_t,br));
                  ^~~~~~~~
/home/tyson/Orion/kernel/ubd/_1568046679_123.c:64:44: error: ‘class utcb_t’ has no member named ‘xfer_timeout’
    O(OFS_UTCB_XFER_TIMEOUT,offsetof(utcb_t,xfer_timeout));
                                            ^~~~~~~~~~~~
/home/tyson/Orion/kernel/ubd/_1568046679_123.c:12:84: note: in definition of macro ‘O’
 #define O(sym,value) __asm__ __volatile__ ("\n#define " MKSTR(sym) " %0 " : : "i" (value));
                                                                                    ^~~~~
/home/tyson/Orion/kernel/ubd/_1568046679_123.c:64:28: note: in expansion of macro ‘offsetof’
    O(OFS_UTCB_XFER_TIMEOUT,offsetof(utcb_t,xfer_timeout));
                            ^~~~~~~~
/home/tyson/Orion/kernel/ubd/_1568046679_123.c:69:34: error: ‘class utcb_t’ has no member named ‘mr’
    O(OFS_UTCB_MR,offsetof(utcb_t,mr));
                                  ^~
/home/tyson/Orion/kernel/ubd/_1568046679_123.c:12:84: note: in definition of macro ‘O’
 #define O(sym,value) __asm__ __volatile__ ("\n#define " MKSTR(sym) " %0 " : : "i" (value));
                                                                                    ^~~~~
/home/tyson/Orion/kernel/ubd/_1568046679_123.c:69:18: note: in expansion of macro ‘offsetof’
    O(OFS_UTCB_MR,offsetof(utcb_t,mr));
                  ^~~~~~~~
make[1]: *** No rule to make target '/home/tyson/Orion/kernel/ubd/include/tcb_layout.h', needed by 'tcb_layout.h'. Stop.
make[1]: Leaving directory '/home/tyson/Orion/kernel/ubd'
make: *** [Makefile:38: all] Error 2
tyson@tyson-Lenovo-ideapad-120S-14IAP:~/Orion/kernel/ubd$ 

This breaks the build, on both x86-64, and PowerPC.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions