[SeaBIOS] [PATCH] Support for booting from QEMU emulated LSI Logic LSI53C1030, SAS1068, SAS1068e.

Kevin O'Connor kevin at koconnor.net
Wed Sep 12 03:03:34 CEST 2012


On Tue, Sep 11, 2012 at 02:11:23PM -0400, Don Slutz wrote:
> Also known as Fusion MPT disk.
> 
> This needs the patch (for the QEMU emulation):
> 
> http://lists.gnu.org/archive/html/qemu-devel/2012-09/msg01608.html

Okay - generally speaking I prefer to commit code to SeaBIOS after the
upstream support goes in.

A couple of comments below:

[...]
> +#pragma pack(1)

There is a PACKED attribute that should be used instead of pragma.

[...]
> +try_again:
> +    outl((u32)MAKE_FLATPTR(GET_SEG(SS), &req), iobase + MPT_REG_REQ_Q);
> +
> +    for (;;) {
> +        u32 istatus = inl(iobase + MPT_REG_ISTATUS);
> +        u32 resp;
> +        if (istatus & MPT_IMASK_REPLY) {
> +            do {
> +                resp = inl(iobase + MPT_REG_REP_Q);
> +                if (resp == MPT_CONTEXT_MAGIC) {
> +                    return DISK_RET_SUCCESS;
> +                } else if ((resp << 1) == (u32)&reply_msg[0]) {
> +                    if (retry == 0) {
> +                        retry = 1;
> +                        goto try_again;

I'd prefer not to use goto in this situation.

Thanks,
-Kevin



More information about the SeaBIOS mailing list