On Tue, May 27, 2014 at 11:44 PM, Marcus Hähnel <mhaehnel@os.inf.tu-dresden.de> wrote:
On 2014-05-28 03:59, Yuxin Ren wrote:
Thank you very much.
But how can I know which file is compiled?

This is decided during build time based on your configuration. The vuild system decides which file to build based on the CONFIG_VIRT_OBJ_SPACE setting. See src/Modules.generic.

- Marcus

     Thanks a lot.
    But can you tell me a little in detail which kernel compile configuration decides  this?
    I am using x86 and ia32..

   Best

On Wed, May 28, 2014 at 6:55 AM, Adam Lackorzynski
<adam@os.inf.tu-dresden.de> wrote:

Hi,

On Tue May 27, 2014 at 13:51:31 -0800, Yuxin Ren wrote:
Now I am learning the kernel code of Fiasco.
But as I do not know much about C++, I feel confused about some code.

Some C++ knowledge is required I think...

In the file obj_space-virt.cpp, we have such code
EXTENSION class Generic_obj_space : Obj_space_virt<Generic_obj_space<SPACE>


And similarly, in the file obj_space-phys.cpp, we have
EXTENSION class Generic_obj_space : Obj_space_phys<Generic_obj_space< SPACE


1. What's the meaning of these tow line code? Does it mean that the class
Generic_obj_space
inherit from both class Obj_space_virt and class Obj_space_phys?

It inherits from just Obj_space_phys which however takes another class
as a parameter to implement some specific functionality at compile time.

2. I note that class Obj_space_virt and Obj_space_phys have some methods
with the same name,
such as lookup_local method. When such a method is called, how can I know
which class is invoked?

That depends on the type of the object the method is called on. In this
particular case with obj_space-*.cpp, only one file of the two files is
compiled, so only one version of Generic_obj_space can ever exist.

Adam
--
Adam                 adam@os.inf.tu-dresden.de
  Lackorzynski         http://os.inf.tu-dresden.de/~adam/ [1]


_______________________________________________
l4-hackers mailing list
l4-hackers@os.inf.tu-dresden.de
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers [2]



Links:
------
[1] http://os.inf.tu-dresden.de/~adam/
[2] http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers


_______________________________________________
l4-hackers mailing list
l4-hackers@os.inf.tu-dresden.de
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers

_______________________________________________
l4-hackers mailing list
l4-hackers@os.inf.tu-dresden.de
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers