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

Re: [Fwd: Re: [Xen-devel] [ANNOUNCE] Xen 3.0.4 release candidate 2]


  • To: "Jimi Xenidis" <jimix@xxxxxxxxxxxxxx>
  • From: "Magnus Damm" <magnus.damm@xxxxxxxxx>
  • Date: Fri, 5 Jan 2007 11:58:33 +0900
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, "Hollis R. Blanchard" <hollisb@xxxxxxxxxx>, Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx>
  • Delivery-date: Thu, 04 Jan 2007 18:58:20 -0800
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=cRIKN8xNGQDubraPd+/Ps8Sk9+0Rt5pCo0PommbNseOIeYahhtXf7NoD/sofwRRpWl/ruyElztuL7mNrAMTQ7Q/HAIrz4SkyoCRRnaqh3RkoYNw9c9E19ZEdhJ0i7/ZTA0y14qfRMTPUGBB0qMypqu9moDPSNOy8sFl+wLVX4Xs=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

On 1/5/07, Jimi Xenidis <jimix@xxxxxxxxxxxxxx> wrote:
IMNSHO the fact that these structures require PACKED is a clear indication
that the dizzying array of macro-itis in include/xen/elfcore.h and friends
has issues.

crash_notes in xen/common/kexec.c needs to be PACKED because existing
tools expect the notes to be aligned in a certain way. Regardless if
your architecture supports unaligned accesses or not. This
32-bit-elf-note-alignment-on-64-bit-platforms doesn't make sense at
all, but we need to follow the already adapted format or things won't
work.

See this thread for more information:
http://lkml.org/lkml/2006/11/2/69

The current kexec-for-dom0 implementation works for i386 and x86_64,
but it is likely broken for architectures that doesn't support
unaligned accesses. The right solution IMO is to keep crash_notes
PACKED but do all accesses through a local copy of the structure and
then update crash_notes through a memcpy().

/ magnus

_______________________________________________
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®.