Chinaunix首页 | 论坛 | 博客
  • 博客访问: 589865
  • 博文数量: 197
  • 博客积分: 7001
  • 博客等级: 大校
  • 技术积分: 2155
  • 用 户 组: 普通用户
  • 注册时间: 2005-02-24 00:29
文章分类

全部博文(197)

文章存档

2022年(1)

2019年(2)

2015年(1)

2012年(100)

2011年(69)

2010年(14)

2007年(3)

2005年(7)

分类: C/C++

2012-03-17 14:08:27



介绍红黑树的文章,地址如下:

~rs/talks/LLRB/RedBlack.pdf

这是红黑树的发明人对红黑树的描述,亮点是:以2-3-4树为引子来介绍,思路同CLRS完全不一样。在作者的描述中红和黑有了新的意义(相比CLRS)。





UEFI Hypervisors … Winning the Race to Bare Metal

struct paravirt_ops save_fl 和restore_fl

/>



6 Context Switching
When a guest OS wishes to context switch between two processes, it can use
the page table and segmentation hypercalls described above to perform the
the bulk of the privileged work. In addition, however, it will need to invoke
Xen to switch the kernel (ring 1) stack pointer:
stack_switch(unsigned long ss, unsigned long esp)
requests kernel stack switch from hypervisor; ss is the new stack segment,
esp is the new stack pointer.


[Xen-devel] Really need to pin page tables?

> In extras/mini-os/arch/x86/mm.c:new_pt_frame, Mini-OS pins its L1,

> L2, and L3 page tables.  Does that really make a difference from the

> Hypervisor point of view?  I mean, once L4 is pinned, pointing to these,

> and thus their content has been checked, is there any performance

> difference?

>

> Samuel

 

No, there's not really any need to pin anything other than the top-level directory.

 -- Keir

 

Shouldn't be. Pinning an L4 implicitly pins everything else below it. The only reason to pin the leafy parts of a pagetable is if you want to play games with incrementally pinning the pagetable, or if you want to pull them apart and rearrange the pieces for some reason. For example, I do incremental pagetable pins in the Xen/pvops kernel to limit the number of pte locks I need to hold at any one time.





An Introduction to Hardware-Assisted Virtual Machine (HVM) Rootkits

DOm0 works in ring 1 root VMX mode. Anyway can switch from ring 1 to ring 0 can be used for accessing privileged resource such as INT xx, or thru exception like I/O.  But HVM works in non root VMX mode though ring=0, so you need to switch from non root VMX mode to root VMX mode to access privileged resource. VM Exit is the only way to do this.

Dom0 always runs paravirtualised, it can't be an HVM domain.  So it just uses the normal paravirtualised interface, regardless of whether VMX is available in the hardware.

 

Shadow Page Tables in Xen

the  shadow_set_l1e() function is where the read-only mapping will be
replaced by a read-write one,.

Its gPT that is write protected and it is one of the mechanism to
detect the gPT modification to keep sPT and gPT in sync.
others mechanisms are like syncing based on processor’s page-fault behaviour
Hypervisor has to sync accessed and PTE dirty bit every time there is
a change in sPT by processor.

This comment, found in shadow_clean_dirty_bitmap might explain you a  
lot:

     /* Need to revoke write access to the domain's pages again.
      * In future, we'll have a less heavy-handed approach to this,
      * but for now, we just unshadow everything except Xen. */
     shadow_blow_tables(d);

/>


XEN on ARM
/>

阅读(906) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~