grub-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] x86_64 again (related with my previous topics)


From: Ruslan Nikolaev
Subject: Re: [PATCH] x86_64 again (related with my previous topics)
Date: Sat, 20 Aug 2005 15:34:09 -0700 (PDT)

Hi!
 
Hmmm... I'm a bit confused. May be I don't undestand something but... Yes it about virtual address. How operating system will have deal with kernel symbols? For example I have a system call "my_system_call". "my_system_call" have a physical address 0x00200004 and virtual address 0xffffffff80200004. x86_64 always enable virtual address space and kernel runs in negative address space. For example someone wants to use this system call. In that case kernel should converts addresses (if ELF file will provide physical address for this symbol instead of a virtual address). Is not it?
 
I think ELF should provide virtual address and GRUB should converts it to physical address. Follow to x86_64 ABI kernel is never bigger than 2Gb + 16Mb. And I think masking with 0x7FFFFFFF is a good thing.
 
-----------
ALSO x86_64 ABI DEFINES AND gcc PROVIDES "kernel" MODEL for compilation. I think it works properly only if all addresses are negative.
-----------
 
AMD64 always requires enable paging when entering long mode. In that case kernel developer always can provide negative address space for kernel.
 
-----------
Linux ELF file (for x86_64) always provides negative virtual addresses for all symbols (you can find it in System.map or directly in vmlinux ELF). Entry point for ELF also has negative address. For example you can see it in my previous post.
----------
 

"Yoshinori K. Okuji" <address@hidden> wrote:
On Saturday 20 August 2005 00:18, Ruslan Nikolaev wrote:
> First of all I want to say that all things I said are related with x86_64.
> x86_64 implements 48-bit virtual address space. As AMD writes the bits from
> 64 to 48 (or implementation limit) should be all ones or all zeros. In that
> case with have "sign-extended" address.

Yes, but this is all about the virtual address, isn't this? GRUB deals with
the physical address of an ELF object, so I don't think GRUB should care
about this.

Okuji


_______________________________________________
Grub-devel mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/grub-devel


Start your day with Yahoo! - make it your home page
reply via email to

[Prev in Thread] Current Thread [Next in Thread]