Broken A20 gate handling

2005-06-30 Thread Ludovic Drolez

Hi !

Recently I tried to use grub(2) with a compaq evo D510. These boxes do not seem 
to have a keyboard controller, so grub freeze in gatea20().


Most free bootloaders fail, but one is okay: syslinux/isolinux.

I've taken a look at syslinux's code, and indeed A20 activation is done much 
more carefully than in grub, and more tricks are used.


I think it's really important to fix grub's code (by stealing code from isolinux 
?), because more and more PCs without a good old keyboard controller will hit 
the market.


Are there any plans to improve gatea20() ? (Moreover, grub2's code for gatea20 
is even worse than grub-legacy)


Regards,

--
Ludovic DROLEZ


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [PATCH 1/2] Various cleanups in kern/misc.c

2005-06-30 Thread Rodrigo Steinmüller Wanderley
Sorry Vicent,

I was too lazy to look over the hole function and test it, I think there is 
more wrong in it.

--- misc.orig.c 2005-06-30 08:39:32.0 -0300
+++ misc.test.c 2005-06-30 08:44:31.0 -0300
static char *
grub_itoa (char *str, int c, unsigned n)
 {
   unsigned base = (c == 'x') ? 16 : 10, d;
   char *p;
+
+  p = str;

   if ((int) n < 0 && c == 'd')
 {
   n = (unsigned int) (-((int) n));
-  *str++ = '-';
+  *p++ = '-';
 }

-  p = str;
   do
 {
   d = n % base;
@@ -49,8 +50,8 @@
   while (n /= base);
   *p = 0;

-  grub_reverse (str);
-  return p;
+  grub_reverse ((*str == '-') ? str+1 : str);
+  return str;
 }

 int

What do you think?

Rodrigo

-- 
-BEGIN PGP PUBLIC KEY BLOCK-
Version: GnuPG v1.4.1 (GNU/Linux)

mQGiBEKJ288RBAD43+VlxMx8V0dLbU+f7TsbhknjBYp2sRMP0a8IkHa8z4DgJTRd
XRMB0D05Hp5iE/1cA8t3e+g2J4kQhcj1JgUA6KSpYcj/cX6EKb6xhb/GAEQupaXz
7RYglwf4Sz9WJA3roSLtQuWcCOYR9lys+kifeTE2jnDLzDcuzwa2pEYJbwCg04jF
uyOmiBd09P1Bgq4VOQhYM78D/j0Iyj0QIstssnRPWcg4QL9l5c7Y8rLRH63qfGOi
fakmmY6C1JnW/wm4+2iUOc0/DbM+kKS5yXsiRFW7CDeqXLUEF1NIRvNaHkmfRmQf
shDI8NJCr0ULMbUde3b1U0LKgMRr7uVnVRFb2bPkEFh1mDEaxpy376+2Rpn8uHOu
GvqYBACJzY7EPP0fFQMMxeSyxHA7A/lxmC9/s1YtRgBHTCniYOQIZ+kwbFrU9XQv
ExvMeO2DvYAtDNyCgV/PaUm0yLxCAmxSVxQaAMRkOuMSKatyBggLpJVZKQ4WuayL
3xA+ws2+F2ozC/LHK9DodkGen35lP286QyPXOV2WciE4YciU3bQsUm9kcmlnbyBT
IFdhbmRlcmxleSA8cndhbmRlcmxleUBuYXRhbG5ldC5icj6IZAQTEQIAJAUCQonb
zwIbAwUJAeEzgAYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRBuM/JKbknmQugDAKC6
ZfWsa8qone19+oppGBkrX028QACfUfLi9rSs/qxmE77b0P+xa2IrWN25Ag0EQonb
2xAIANBkeWLFcVSxSCsCQEH8HJ80VhQO18Sy80MpXebf9sj1gwUATZJ/OcxYYw46
ZrFwNk9raTRULprAcqR5ORKk3TNZ6ZnEl337PZZS5FnELwsHXTm+KVKF3bE2nnB5
/25SzPwkidsyk8Pe3HYM9/r4dwHNOXE3i0nYsweC/aUE8yg/3Ipweu9K1cj+XbSM
IpDydOmBpvVhIvv+VOIoevXxgm2hrD7LQ7jnfBaj/bV9GY/tJyl50nWgMM7csaAg
+4H1lG5/FvzNOgudmhzAdMk5lyTMLyRj6wiYkvckvBCXFaC04FgseylRj72NZilQ
xIstJWNomiATkC6uHYtOKExZ1xcAAwUIALTSG+l21w/W3L9iuEi8QK91n7LyHoO/
OJpYbj73sJWsui7qG63os8aR+KgbdbKNFGDwkyYfbfildYDd+TOkFWkbT64vq4Wv
t51Pl2dB0+0cnO/xqRnbxt4II7SBwg5t1u/MHahaULoTcTYslN+bW9FuB9I22ZiJ
pzFddDWjWApggNQIEapCd+XiuYnED6rV+n0GcmZxpb9Iz0mak7SPCZvN3QzPCI/6
k2YZlt92I/k4E2GU9NVM/1mXkTgqVgwOwlunPW6JYgcv/3n2Ly1eMNJQioWGRSnZ
wQyVx7FvBUqMGLrWHTw3+FQRDd6B6pQ2Y4uL0W4LskQrXm97hhW5NuKITwQYEQIA
DwUCQonb2wIbDAUJAeEzgAAKCRBuM/JKbknmQuXzAKDTa3d+h15/KHHupI6AMkNr
YKRP3ACggEq09XZBLGulCU2e6+/I0j4iN3U=
=JhUw
-END PGP PUBLIC KEY BLOCK-


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [PATCH 1/2] Various cleanups in kern/misc.c

2005-06-30 Thread Rodrigo Steinmüller Wanderley
Hi Vicent,

Just one small comment here...  I know its silly, but:

29/06 as 16:30: Vincent escreveu:

VP>  static char *
VP> -grub_itoa (char *str, int c, unsigned n)
VP> +grub_itoa (char *str, int c, unsigned int n)
VP>  {
VP> -  unsigned base = (c == 'x') ? 16 : 10;
VP> +  unsigned int base = (c == 'x') ? 16 : 10, d;
VP>char *p;
VP>
VP>if ((int) n < 0 && c == 'd')
VP>  {
VP> -  n = (unsigned) (-((int) n));
VP> +  n = (unsigned int) (-((int) n));
VP>*str++ = '-';
VP>  }
VP>  
VP>p = str;
VP>do
VP>  {
VP> -  unsigned d = n % base;
VP> +  d = n % base;
VP>*p++ = (d > 9) ? d + 'a' - 10 : d + '0';
VP>  }

I think p is not necessary.  Specially because we already used str to
walk through the string in the first if.  What do you think?

VP>while (n /= base);
VP> @@ -500,9 +515,9 @@ grub_itoa (char *str, int c, unsigned n)
VP>  }

-- 
-BEGIN PGP PUBLIC KEY BLOCK-
Version: GnuPG v1.4.1 (GNU/Linux)

mQGiBEKJ288RBAD43+VlxMx8V0dLbU+f7TsbhknjBYp2sRMP0a8IkHa8z4DgJTRd
XRMB0D05Hp5iE/1cA8t3e+g2J4kQhcj1JgUA6KSpYcj/cX6EKb6xhb/GAEQupaXz
7RYglwf4Sz9WJA3roSLtQuWcCOYR9lys+kifeTE2jnDLzDcuzwa2pEYJbwCg04jF
uyOmiBd09P1Bgq4VOQhYM78D/j0Iyj0QIstssnRPWcg4QL9l5c7Y8rLRH63qfGOi
fakmmY6C1JnW/wm4+2iUOc0/DbM+kKS5yXsiRFW7CDeqXLUEF1NIRvNaHkmfRmQf
shDI8NJCr0ULMbUde3b1U0LKgMRr7uVnVRFb2bPkEFh1mDEaxpy376+2Rpn8uHOu
GvqYBACJzY7EPP0fFQMMxeSyxHA7A/lxmC9/s1YtRgBHTCniYOQIZ+kwbFrU9XQv
ExvMeO2DvYAtDNyCgV/PaUm0yLxCAmxSVxQaAMRkOuMSKatyBggLpJVZKQ4WuayL
3xA+ws2+F2ozC/LHK9DodkGen35lP286QyPXOV2WciE4YciU3bQsUm9kcmlnbyBT
IFdhbmRlcmxleSA8cndhbmRlcmxleUBuYXRhbG5ldC5icj6IZAQTEQIAJAUCQonb
zwIbAwUJAeEzgAYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRBuM/JKbknmQugDAKC6
ZfWsa8qone19+oppGBkrX028QACfUfLi9rSs/qxmE77b0P+xa2IrWN25Ag0EQonb
2xAIANBkeWLFcVSxSCsCQEH8HJ80VhQO18Sy80MpXebf9sj1gwUATZJ/OcxYYw46
ZrFwNk9raTRULprAcqR5ORKk3TNZ6ZnEl337PZZS5FnELwsHXTm+KVKF3bE2nnB5
/25SzPwkidsyk8Pe3HYM9/r4dwHNOXE3i0nYsweC/aUE8yg/3Ipweu9K1cj+XbSM
IpDydOmBpvVhIvv+VOIoevXxgm2hrD7LQ7jnfBaj/bV9GY/tJyl50nWgMM7csaAg
+4H1lG5/FvzNOgudmhzAdMk5lyTMLyRj6wiYkvckvBCXFaC04FgseylRj72NZilQ
xIstJWNomiATkC6uHYtOKExZ1xcAAwUIALTSG+l21w/W3L9iuEi8QK91n7LyHoO/
OJpYbj73sJWsui7qG63os8aR+KgbdbKNFGDwkyYfbfildYDd+TOkFWkbT64vq4Wv
t51Pl2dB0+0cnO/xqRnbxt4II7SBwg5t1u/MHahaULoTcTYslN+bW9FuB9I22ZiJ
pzFddDWjWApggNQIEapCd+XiuYnED6rV+n0GcmZxpb9Iz0mak7SPCZvN3QzPCI/6
k2YZlt92I/k4E2GU9NVM/1mXkTgqVgwOwlunPW6JYgcv/3n2Ly1eMNJQioWGRSnZ
wQyVx7FvBUqMGLrWHTw3+FQRDd6B6pQ2Y4uL0W4LskQrXm97hhW5NuKITwQYEQIA
DwUCQonb2wIbDAUJAeEzgAAKCRBuM/JKbknmQuXzAKDTa3d+h15/KHHupI6AMkNr
YKRP3ACggEq09XZBLGulCU2e6+/I0j4iN3U=
=JhUw
-END PGP PUBLIC KEY BLOCK-


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [Bulk] Re: [PATCH] grub2: commands/cmp.c: grub_cmd_cmp()

2005-06-30 Thread Vincent Pelletier
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Marco Gerards wrote:
> I think BUFFER_SIZE would be a better name.  Another size can be
> used.  Perhaps it is better to use a bigger buffer size?

As we read from a block device, I think the best size would be a
multiple of the block size... But yes, it could be named buffer size.
And it could even be dynamicaly allocated, to prevent using too much
space on stack.

> Huh?

Some remains from a change-and-undo... I'll send a new patch with a
correct changelog :).

Vincent Pelletier
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFCw8j8FEQoKRQyjtURApAVAKCUiOSXjhRmv5Sy/Hkct/9rqZjapwCeNZws
iYms73xiAlh3TMEgfIoctA4=
=+ko/
-END PGP SIGNATURE-





___ 
Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger 
Téléchargez cette version sur http://fr.messenger.yahoo.com



___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [PATCH] grub2: commands/cmp.c: grub_cmd_cmp()

2005-06-30 Thread Marco Gerards
Vincent Pelletier <[EMAIL PROTECTED]> writes:

Hi Vincent,

Thanks for your patch.  It looks ok to me.  A few small comments...


> 2005-06-29  Vincent Pelletier  <[EMAIL PROTECTED]>
>
> * commands/cmp.c
>   (grub_cmd_cmp): Close the right file at the right time.  Compare
>   only data just read.  Don't report files of different size as
>   identical.  (BLOCK_SIZE): New macro.

The (BLOCK_SIZE) stuff should be put on a new line.

I think BUFFER_SIZE would be a better name.  Another size can be
used.  Perhaps it is better to use a bigger buffer size?


>  
>if (grub_file_size (file1) != grub_file_size (file2))
> -grub_printf ("Differ in size: %d [%s], %d [%s]\n", 
> -  grub_file_size (file1), args[0], 
> -  grub_file_size (file2), args[1]);
> +{
> +  grub_printf ("Differ in size: %d [%s], %d [%s]\n", 
> +grub_file_size (file1), args[0], 
> +grub_file_size (file2), args[1]);
> +}

Huh?

Thanks,
Marco



___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel