This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] x86_64 platform : addresses type

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] x86_64 platform : addresses type
From: PUCCETTI Armand <armand.puccetti@xxxxxx>
Date: Tue, 04 Jul 2006 12:27:19 +0200
Delivery-date: Tue, 04 Jul 2006 03:29:46 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird (X11/20060521)

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
<Prev in Thread] Current Thread [Next in Thread>