ts-7000
[Top] [All Lists]

Re: [ts-7000] Reading memory using inline assemble causes segmentation f

To:
Subject: Re: [ts-7000] Reading memory using inline assemble causes segmentation fault
From: Jim Jackson <>
Date: Mon, 19 May 2008 10:43:17 +0100 (BST)

Actually, did you know that there is a program in the TSLinux
image called "jp" which interrogates the jumpers.


On Mon, 19 May 2008, Jim Jackson wrote:

>
>
>
> On Sun, 18 May 2008, carol9078 wrote:
>
>> I'm alsot certainly missing the point, but why dows a simple memory
>> read of the JP6 setting address not work and cause a segmntation fault
>> and what can I do to fix it, I'm trying to write the smallest possible
>> program to go in the initial ramdisk image to read the jumper on
>> header 6 and decide which filesystem to boot on my TS7250, using the
>> normal includes and statically linking results in a huge file (400K)
>> so I thought I would try the inline assembler route:
>> 
>> 
>> #define JP6 0x22800000
>> 
>> int main(void)
>> {
>>        int ret;
>>        asm volatile (
>>                "ldrh %0, [ %1 ]\n"
>>                : "=r" (ret)
>>                : "r" (JP6)
>>                : "memory"
>>        );
>>        return ret;
>> }
>> 
>> 
>> ./a.out
>> pc : [<000083d8>]    lr : [<2aadde44>]    Not tainted
>> sp : 7ffffe14  ip : 7ffffe28  fp : 7ffffe24
>> r10: 2abd9000  r9 : 000083c4  r8 : 00000001
>> r7 : 00008440  r6 : 7ffffe34  r5 : 2aac7e14  r4 : 00000000
>> r3 : 22800000  r2 : 7ffffe3c  r1 : 7ffffe34  r0 : 00000001
>> Flags: nZCv  IRQs on  FIQs on  Mode USER_32  Segment user
>> Control: C000317F  Table: 01770000  DAC: 00000015
>> Segmentation fault
>> 
>
> You cannot access memory direct from userspace like that.
> This is an FAQ, obfuscated by your use of assembler.
> You need to acces memory io via /dev/mem and mmap()
>
>
>

------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/ts-7000/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/ts-7000/join
    (Yahoo! ID required)

<*> To change settings via email:
     
    

<*> To unsubscribe from this group, send an email to:
    

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU