[parisc-linux] Re: Unaligne access [was: Back to evms-1.0.1 && unaligne access && gdb ]

jsoe0708@tiscali.be jsoe0708@tiscali.be
Wed, 4 Sep 2002 13:48:47 +0200


>>jsoe0708@tiscali.be wrote:
>>...
>>> And here is some data of my analyse:
>>> 
>>> First surprise in the two case (original checks.c and my checks.c with
>>only
>>> "if (p->boot_ind != 0x00 && ") p addresses are exactly the same here
is
>>an
>>> example:
>>
>>...
>>> with the checks.c.new:
...
>>
>>checks.c.new will generate a "misaligned access" when "p.start_sect"
>>is accessed. 0x272f6 is aligned on 2byte address, not 4 byte.
>>Ditto for "p.nr_sects".
>>
>(now I have understand, well I think :) )
>
>>You sure checks.c.new is referencing 0x272f6 and not something else?
>
>For this I will have to find all call to this function and write p.start_sect
>address and content before.
>
>(very tricky problem to surround isn'it ;<) )
>
And so here is a test (where an unaligne access did not occurs where it would??):
(isa_valid_partition_record) file checks.c
### before the call ###
part.start_sect add: 0x242a6
part.start_sect    : 9439488   [1]
part.nr_sects   add: 0x242aa
part.nr_sects      : 15791872  [2]
### Into the function isa_null_partition_record() ###
p            add: 0x2429e
p.boot_ind   add: 0x2429e
p.head       add: 0x2429f
p.sector     add: 0x242a0
p.cyl        add: 0x242a1
p.sys_ind    add: 0x242a2
p.end_head   add: 0x242a3
p.end_sector add: 0x242a4
p.end_cyl    add: 0x242a5
p.start_sect add: 0x242a6
p.start_sect    : 9439488      [3]
p.nr_sects   add: 0x242aa
p.nr_sects      : 15791872     [4]

As far as I can see [1] and [3] (as well as [2] and [4]) seems to show that
it point actualy to the same thing.

And here is an other sample:

(isa_valid_partition_record) file checks.c
part.start_sect add: 0x24556
part.start_sect    : 536870912
part.nr_sects   add: 0x2455a
part.nr_sects      : 3768004864
p            add: 0x2454e
p.boot_ind   add: 0x2454e
p.head       add: 0x2454f
p.sector     add: 0x24550
p.cyl        add: 0x24551
p.sys_ind    add: 0x24552
p.end_head   add: 0x24553
p.end_sector add: 0x24554
p.end_cyl    add: 0x24555
p.start_sect add: 0x24556
p.start_sect    : 536870912
p.nr_sects   add: 0x2455a
p.nr_sects      : 3768004864
p            add: 0x2454e
p.boot_ind   add: 0x2454e
p.head       add: 0x2454f
p.sector     add: 0x24550
p.cyl        add: 0x24551
p.sys_ind    add: 0x24552
p.end_head   add: 0x24553
p.end_sector add: 0x24554
p.end_cyl    add: 0x24555
p.start_sect add: 0x24556
p.start_sect    : 536870912
p.nr_sects   add: 0x2455a
p.nr_sects      : 3768004864

Joel



Big Brother Anders  - With Tiscali you will see it all !  Check it up on
 www.tiscali.be/bigbrother