-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
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.