对AddrSpace整合的方案 #50
shilei-massclouds
started this conversation in
Ideas
Replies: 3 comments
-
|
投方案一1票,逻辑更为直观 |
Beta Was this translation helpful? Give feedback.
0 replies
-
|
宏内核这边支持选用方案一,因为我们也需要考虑对 arceos 尽可能小的改动。其他的扩展接口实现在宏内核自身的扩展即可 |
Beta Was this translation helpful? Give feedback.
0 replies
-
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment

Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
方案一
AddrSpace泛型作为单独的组件,带三个泛型参数。
axvisor/arceos/starry分别在顶层填充泛型模板以实例化:
另外,npt_multiarch从原axaddrspace独立出来作为单独组件。
原来arceos中的axmm可以去掉,如果保留,也是简化实现。
优势:耦合度低,未来的可扩展性强。
缺点:泛型参数的组合填充有些麻烦,代码可读性和简单性受到一些影响。
方案二
直接把axaddrspace和axmm合并,AddrSpace完全实例化或仅保留一个Handler泛型参数,即AddrSpace<H>。
合并产生的aspace组件对pagetable_multiarch和npt_multiarch有依赖。
优势:实现简单直接,没有泛型的麻烦。
缺点:组件间有比较强的耦合性,对未来一些特殊情况的扩展有不利影响。
Beta Was this translation helpful? Give feedback.
All reactions