[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] A question related with symbol reference?



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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.