Re: Some confusing code of the kernel
Yuxin Ren <[email protected]>
| Newsgroups | gmane.comp.micro-kernel.l4.devel |
|---|---|
| Message-ID | <CAAKbDrcuA8+re9LMMhsj2FE62cw9BbxneOo7Tr7jU9T2ByEQww@mail.gmail.com> |
Thank you very much for your detail reply. It is really useful and helpful. On Thu, May 29, 2014 at 9:17 AM, Marcus Hähnel < [email protected]> wrote: > On 2014-05-29 18:22, Yuxin Ren wrote: > >> 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? >>>> >>> > What do you mean with 'how can I know'? > Do you mean how you can set it? > > The menuconfig option is [Kernel options] -> [No virtually mapped array > for cap tables], which is only visible if you enable experimental features > in the main menu. > > Or do you mean how you can find out which one is compiled? > > I already pointed you to src/Modules.generic which has an if clause that > decides which one to use based on the config option in lines 33 and > following. The Modules.generic file is included by the build system during > the build process. > > Does that answer your Question? > > - Marcus > > > 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. >>>>> >>>>> uch 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 >>>>>> particul >>>>>> >>>>> 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] [1] >>>>> >>>>> >>>>> _______________________________________________ >>>>> l4-hackers mailing list >>>>> [email protected] >>>>> http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers [2] [2] >>>>> >>>> >>>> Links: >>>> ------ >>>> [1] http://os.inf.tu-dresden.de/~adam/ [1] >>>> [2] http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers [2] >>>> >>>> >>>> _______________________________________________ >>>> l4-hackers mailing list >>>> [email protected] >>>> http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers [2] >>>> >>> >>> _______________________________________________ >>> 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