KCall methods do not depend on m_source and m_type fields

- substituted the use of the m_source message field by
  caller->p_endpoint in kernel calls. It is the same information, just
  passed more intuitively.
  
- the last dependency on m_type field is removed.
  
- do_unused() is substituted by a check for NULL.

- this pretty much removes the depency of kernel calls on the general
  message format. In the future this may be used to pass the kcall
  arguments in a different structure or registers (x86-64, ARM?) The
  kcall number may be passed in a register already.
This commit is contained in:
Tomas Hruby
2010-06-01 08:54:31 +00:00
parent ebbd319ac0
commit 40f440b8cd
12 changed files with 56 additions and 74 deletions
+1 -1
View File
@@ -22,7 +22,7 @@ PUBLIC int do_vmctl(struct proc * caller, message * m_ptr)
endpoint_t ep = m_ptr->SVMCTL_WHO;
struct proc *p, *rp, *target;
if(ep == SELF) { ep = m_ptr->m_source; }
if(ep == SELF) { ep = caller->p_endpoint; }
if(!isokendpt(ep, &proc_nr)) {
printf("do_vmctl: unexpected endpoint %d from VM\n", ep);