[coreboot] [PATCH] cld before call
c-d.hailfinger.devel.2006 at gmx.net
Wed Jul 29 02:21:38 CEST 2009
On 29.07.2009 00:36, Robert Millan wrote:
> The Multiboot spec is a bit too permissive about this, as it doesn't
> specify the state of direction flag when payload is called. Some payloads
> (we found this in ReactOS FreeLDR) assume it is cleared, and fail otherwise.
> We adjusted GRUB to be sure it's always cleared. I think coreboot should do
> the same. Here's a patch for v3.
AFAIK this patch is unneeded. The GCC ABI on x86 and x86_64 states that
the direction flag must always be cleared before running any gcc
compiled code, so if you need to execute cld in the middle of C code, it
means that all C code before that cld had undefined behaviour.
The correct place for cld is early asm startup code before any C code
More information about the coreboot