Hello, Am 02.04.2011 00:35, schrieb Alexander Holler: > Remove __attribute__ ((packed)) to prevent byte access to soc > registers in some gcc versions. > > Having patches to enable ehci for the BeagleBoard lying around for > several month, this one was the show-stopper. > > Credits have to go to Laine Walker-Avina<lwalk...@ieee.org> for > finding the problem. > > Signed-off-by: Alexander Holler<hol...@ahsoftware.de> > --- > drivers/usb/host/ehci.h | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h > index 945ab64..df9f055 100644 > --- a/drivers/usb/host/ehci.h > +++ b/drivers/usb/host/ehci.h > @@ -55,7 +55,7 @@ struct ehci_hccr { > #define HCS_N_PORTS(p) (((p)>> 0)& 0xf) > uint32_t cr_hccparams; > uint8_t cr_hcsp_portrt[8]; > -} __attribute__ ((packed)); > +}; > > struct ehci_hcor { > uint32_t or_usbcmd; > @@ -85,7 +85,7 @@ struct ehci_hcor { > #define FLAG_CF (1<< 0) /* true: we'll support "high > speed" */ > uint32_t or_portsc[CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS]; > uint32_t or_systune; > -} __attribute__ ((packed)); > +}; > > #define USBMODE 0x68 /* USB Device mode */ > #define USBMODE_SDIS (1<< 3) /* Stream disable */
Before I'm killing someones 64bit+ machine with that patch: The hint I've received was to use +} __attribute__ ((packed, aligned(4))); That works too. I haven't seen the original commit (I've only got told that credits have to go to Laine Walker-Avina), I don't know if the standard says something to that, I don't know if some 64bit+ SoC might choose to align that stuff otherwise and I will not send a v2 of that patch. Regards, Alexander _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot