|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-devel
[Xen-devel] x86_64 platform : addresses type
 
| 
 
 
Several addresses are actually on 32 bits, such as in
 
 
typedef struct {
 
   u32 flags;
 
   u32 mem_lower;
 
   u32 mem_upper;
 
   u32 boot_device;
 
   u32 cmdline;
 
   u32 mods_count;
 
   u32 mods_addr;
 
   union {
 
       aout_symbol_table_t aout_sym;
 
       elf_section_header_table_t elf_sec;
 
   } u;
 
   u32 mmap_length;
 
   u32 mmap_addr;
 
} multiboot_info_t
 
 
 
However, on x86_64 using gcc, addresses as well as unsigned long are 64
bits long.
 
 
It seems that luckily mmap_addr is below 2*32-1, making the u32 type
acceptable
 
so far (for instance in function __start_xen, where the memory map is
turned into
 
another structure) but what would it cost to change it into u64 ?
 
After all, the multiboot specification (page 18) has 'unsigned long'
instead of u32 here.
 
 
 
 
 |  
 _______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread>
 |  
- [Xen-devel] x86_64 platform : addresses type,
PUCCETTI Armand <=
 
 
 |  
  
 | 
    | 
  
  
    |   | 
    |