* Re: grub2 ChangeLog term/i386/pc/serial.c
[not found] <E1IpVtw-0001l3-2T@cvs.savannah.gnu.org>
@ 2007-11-06 21:33 ` Vesa Jääskeläinen
2007-11-07 20:19 ` Robert Millan
0 siblings, 1 reply; 6+ messages in thread
From: Vesa Jääskeläinen @ 2007-11-06 21:33 UTC (permalink / raw)
To: The development of GRUB 2
Robert Millan wrote:
> CVSROOT: /sources/grub
> Module name: grub2
> Changes by: Robert Millan <robertmh> 07/11/06 21:23:59
>
> Modified files:
> . : ChangeLog
> term/i386/pc : serial.c
>
> Log message:
> 2007-11-06 Robert Millan <rmh@aybabtu.com>
>
> * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
> in grub_outb() calls.
> (serial_hw_init): Likewise.
>
> CVSWeb URLs:
> http://cvs.savannah.gnu.org/viewcvs/grub2/ChangeLog?cvsroot=grub&r1=1.437&r2=1.438
> http://cvs.savannah.gnu.org/viewcvs/grub2/term/i386/pc/serial.c?cvsroot=grub&r1=1.4&r2=1.5
Why on earth those parameters are reversed anyway :) ?
On all systems that I can remember arguments for lots of things go like
this:
func(destination, source)
examples are:
memcpy, strcpy
On most of the other systems outp is also outp(port, value)
("destination, source"). Eg. following the same convention.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: grub2 ChangeLog term/i386/pc/serial.c
2007-11-06 21:33 ` grub2 ChangeLog term/i386/pc/serial.c Vesa Jääskeläinen
@ 2007-11-07 20:19 ` Robert Millan
2007-11-07 20:35 ` Vesa Jääskeläinen
0 siblings, 1 reply; 6+ messages in thread
From: Robert Millan @ 2007-11-07 20:19 UTC (permalink / raw)
To: The development of GRUB 2
On Tue, Nov 06, 2007 at 11:33:44PM +0200, Vesa Jääskeläinen wrote:
> > 2007-11-06 Robert Millan <rmh@aybabtu.com>
> >
> > * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
> > in grub_outb() calls.
> > (serial_hw_init): Likewise.
> >
> > CVSWeb URLs:
> > http://cvs.savannah.gnu.org/viewcvs/grub2/ChangeLog?cvsroot=grub&r1=1.437&r2=1.438
> > http://cvs.savannah.gnu.org/viewcvs/grub2/term/i386/pc/serial.c?cvsroot=grub&r1=1.4&r2=1.5
>
> Why on earth those parameters are reversed anyway :) ?
My fault :-)
When I replaced inb() and outb() in that file, I assumed they would have
the same semantics as grub_inb() and grub_outb().
> On all systems that I can remember arguments for lots of things go like
> this:
>
> func(destination, source)
>
> examples are:
> memcpy, strcpy
>
> On most of the other systems outp is also outp(port, value)
> ("destination, source"). Eg. following the same convention.
grub_inb() and grub_outb() are based on the inb()/outb() implementation
from glibc headers, so I kept the same arguments for consistency.
--
Robert Millan
<GPLv2> I know my rights; I want my phone call!
<DRM> What use is a phone call, if you are unable to speak?
(as seen on /.)
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: grub2 ChangeLog term/i386/pc/serial.c
2007-11-07 20:19 ` Robert Millan
@ 2007-11-07 20:35 ` Vesa Jääskeläinen
2007-11-07 21:28 ` Robert Millan
0 siblings, 1 reply; 6+ messages in thread
From: Vesa Jääskeläinen @ 2007-11-07 20:35 UTC (permalink / raw)
To: The development of GRUB 2
Robert Millan wrote:
> On Tue, Nov 06, 2007 at 11:33:44PM +0200, Vesa Jääskeläinen wrote:
>>> * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
>>> in grub_outb() calls.
>> Why on earth those parameters are reversed anyway :) ?
>
> My fault :-)
>
> When I replaced inb() and outb() in that file, I assumed they would have
> the same semantics as grub_inb() and grub_outb().
Just to be clear, I would have understood your rational ordering better
than current version ;)
> grub_inb() and grub_outb() are based on the inb()/outb() implementation
> from glibc headers, so I kept the same arguments for consistency.
I see... Once again inconsistency introduced by Unix folks... as AT&T
assembler wouldn't be enough, they then poisons C libs too... oh well...
another thing to try to keep in mind...
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: grub2 ChangeLog term/i386/pc/serial.c
2007-11-07 20:35 ` Vesa Jääskeläinen
@ 2007-11-07 21:28 ` Robert Millan
2007-11-09 15:26 ` Marco Gerards
0 siblings, 1 reply; 6+ messages in thread
From: Robert Millan @ 2007-11-07 21:28 UTC (permalink / raw)
To: The development of GRUB 2
On Wed, Nov 07, 2007 at 10:35:17PM +0200, Vesa Jääskeläinen wrote:
> > grub_inb() and grub_outb() are based on the inb()/outb() implementation
> > from glibc headers, so I kept the same arguments for consistency.
>
> I see... Once again inconsistency introduced by Unix folks... as AT&T
> assembler wouldn't be enough, they then poisons C libs too... oh well...
> another thing to try to keep in mind...
I always thought the Right Way to do this would be implement it in GCC,
so that you can do things like:
__some_magic__(PORT_ADDR) |= 0x80;
which is much more beatufil than either of:
outb (PORT_ADDR, inb (PORT_ADDR) | 0x80);
outb (inb (PORT_ADDR) | 0x80, PORT_ADDR);
don't you think?
(now if someone is bored and takes my suggestion to gcc-patches, that'd make
my day...)
--
Robert Millan
<GPLv2> I know my rights; I want my phone call!
<DRM> What use is a phone call, if you are unable to speak?
(as seen on /.)
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: grub2 ChangeLog term/i386/pc/serial.c
2007-11-07 21:28 ` Robert Millan
@ 2007-11-09 15:26 ` Marco Gerards
2007-11-09 21:37 ` Robert Millan
0 siblings, 1 reply; 6+ messages in thread
From: Marco Gerards @ 2007-11-09 15:26 UTC (permalink / raw)
To: The development of GRUB 2
Robert Millan <rmh@aybabtu.com> writes:
> On Wed, Nov 07, 2007 at 10:35:17PM +0200, Vesa Jääskeläinen wrote:
>> > grub_inb() and grub_outb() are based on the inb()/outb() implementation
>> > from glibc headers, so I kept the same arguments for consistency.
>>
>> I see... Once again inconsistency introduced by Unix folks... as AT&T
>> assembler wouldn't be enough, they then poisons C libs too... oh well...
>> another thing to try to keep in mind...
>
> I always thought the Right Way to do this would be implement it in GCC,
> so that you can do things like:
>
> __some_magic__(PORT_ADDR) |= 0x80;
>
> which is much more beatufil than either of:
>
> outb (PORT_ADDR, inb (PORT_ADDR) | 0x80);
>
> outb (inb (PORT_ADDR) | 0x80, PORT_ADDR);
>
> don't you think?
>
> (now if someone is bored and takes my suggestion to gcc-patches, that'd make
> my day...)
That's possible in C++ using operator overloading AFAIK.
Did this commit fix serial support for LB?
--
Marco
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: grub2 ChangeLog term/i386/pc/serial.c
2007-11-09 15:26 ` Marco Gerards
@ 2007-11-09 21:37 ` Robert Millan
0 siblings, 0 replies; 6+ messages in thread
From: Robert Millan @ 2007-11-09 21:37 UTC (permalink / raw)
To: The development of GRUB 2
On Fri, Nov 09, 2007 at 04:26:02PM +0100, Marco Gerards wrote:
> >
> > I always thought the Right Way to do this would be implement it in GCC,
> > so that you can do things like:
> >
> > __some_magic__(PORT_ADDR) |= 0x80;
> >
> > which is much more beatufil than either of:
> >
> > outb (PORT_ADDR, inb (PORT_ADDR) | 0x80);
> >
> > outb (inb (PORT_ADDR) | 0x80, PORT_ADDR);
> >
> > don't you think?
> >
> > (now if someone is bored and takes my suggestion to gcc-patches, that'd make
> > my day...)
>
> That's possible in C++ using operator overloading AFAIK.
Ah, right. Maybe we could switch to building with g++ just to get this
feature ;-)
> Did this commit fix serial support for LB?
No, it fixed a bug affecting all platforms (i.e. both of them ;-)).
For serial.mod to work on LB, we need the other patch (the machine.h one).
--
Robert Millan
<GPLv2> I know my rights; I want my phone call!
<DRM> What use is a phone call, if you are unable to speak?
(as seen on /.)
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2007-11-09 21:37 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <E1IpVtw-0001l3-2T@cvs.savannah.gnu.org>
2007-11-06 21:33 ` grub2 ChangeLog term/i386/pc/serial.c Vesa Jääskeläinen
2007-11-07 20:19 ` Robert Millan
2007-11-07 20:35 ` Vesa Jääskeläinen
2007-11-07 21:28 ` Robert Millan
2007-11-09 15:26 ` Marco Gerards
2007-11-09 21:37 ` Robert Millan
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.