Re: Some confusing code of the kernel

Yuxin Ren <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.devel
Message-ID <CAAKbDrejtvtk7BkgPWjJO64vW4G9K2eu7G-nzkNkz+Zi369g6w@mail.gmail.com>
On Tue, May 27, 2014 at 11:44 PM, Marcus Hähnel <
[email protected]> 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
>> <[email protected]> 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                 [email protected]
>>>   Lackorzynski         http://os.inf.tu-dresden.de/~adam/ [1]
>>>
>>>
>>> _______________________________________________
>>> l4-hackers mailing list
>>> [email protected]
>>> 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
>> [email protected]
>> http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
>>
>
> _______________________________________________
> l4-hackers mailing list
> [email protected]
> http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
>

_______________________________________________
l4-hackers mailing list
[email protected]
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.