Assembly code does not need a function prototype or indeed any label
declaration to be able to reference that function/label.
-- Keir
On 18/3/08 06:19, "Zang Hongyong" <zanghongyong@xxxxxxxxxx> wrote:
> anyone can help?
> I'm confused too.
>
> ======== 2008-03-18 14:04:50 您在来信中写道: ========
>
> hi, my friends:
>
> recently, i am reading the source codes about hypercall.
>
> First, i study a simple hypercall, for example, the "do_xen_version".
>
> In "xen-3.1.0-src\xen\common\kernel.c", the definition of "do_xen_version" is:
>
> DO(xen_version) (int cmd, XEN_GUEST_HANDLE(void) arg)
> {
> ....
> }
>
> according to the " #define DO(fn) long do_##fn ", the expanded form is
> "do_xen_version (...)".
>
> then, in the "xen-3.1.0-src\xen\arch\x86\x86_32\entry.S", there is an item in
> the "hypercall_table", like this:
>
> ENTRY(hypercall_table)
> ....
> .long do_xen_version
> ....
>
>
> as we all known, for a symbol reference of function there need to be a header
> file contained, or a "global" declaration.
>
> By searching the header files, i found the file,
> "xen-3.1.0-src\xen\include\xen\hypercall.h" that declared the function in a
> form as follows:
>
> extern long
> do_xen_version(
> int cmd,
> XEN_GUEST_HANDLE(void) arg);
>
> But, i can not find where the file "hypercall.h" is contained in order to link
> it with the reference of "do_xen_version" in the "entry.S"
>
> So, please help me, or give me some advice.
>
> thanks advance.
>
> 2008-03-18
>
>
>
> 房海峰
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|