CS 3810
CS 6810
Lunch with Jitju
Xcap review
1. Where do the capacities exist?
a capability is a record in a hypervisor protected data structure.
We call this data structure the capability address space, or the CSpace.
each VM has a private CSpace, and all the code inside it has the same rights.
<Implementation>
struct capability
{
uint32_t magic;
};
struct cap_space
{
int num_caps;
struct capability *caps;
};
struct domain{
struct cap_space *cap_space; <-
}
2. what the "grant" really means and how is it implemented? --> OK
내가 어떤 capability를 가지고 있으면,
상대방에게도 그 capability를 준다.
(하나라도 못주면 fail?, fail이면 그동안 준건 어떻게 해? 그런 정보가 없네)
if ( (ret = cap_grant(to,list,size)) != 0 )
{
TT_ERR("cap_grant failed when called from xc_cap_grant().\n");
rcu_unlock_domain(to);
return ret;
spin_unlock 안하고 return한다.
--> 안톤에게 메일 씀
내일은 다시 XCap proposal로 돌아가서
big picture를 그릴 수 있도록 해보고,
모르는 개념이 있으면 관련 논문을 찾아보는 과정을 거친다.