flat assembler
Message board for the users of flat assembler.
Index
> Non-x86 architectures > [Arm] Has the Linux interface spec changed? |
Author |
|
revolution 02 Jun 2012, 12:33
The example you show was tested using an older version of Linux used on the Gumstix SOM by one of the users here. It is entirely possible that the call structure has changed in later versions of Linux.
If you have an example that is updated to run on the current Linux version then please feel free to post it here. |
|||
02 Jun 2012, 12:33 |
|
AnewUser 02 Jun 2012, 12:36
Hi revolution
The example I used is straight from the examples of FasmARM ver 1.26 |
|||
02 Jun 2012, 12:36 |
|
revolution 02 Jun 2012, 12:38
I don't have an updated example for current Linux versions. If you know that the interface has been changed then you are welcome to submit an update.
|
|||
02 Jun 2012, 12:38 |
|
AnewUser 02 Jun 2012, 12:40
I don't know if it has been changed, I'm just trying to confirm if it will
work as I don't have an ARM based machine running Linux at my disposal. |
|||
02 Jun 2012, 12:40 |
|
revolution 02 Jun 2012, 12:41
AnewUser wrote: ... I don't have an ARM based machine running Linux at my disposal. AFAIK it was working previously. But I can't verify if it still works, or if it did work. |
|||
02 Jun 2012, 12:41 |
|
AnewUser 02 Jun 2012, 12:44
No problem, thanks.
You mentioned that the example was from Gumstix SOM, any idea what kernel version it was using? From what I can gather, the system calls are pretty standard across kernel version. I'm just intrigued by the 0 instead of a 1 for STDOUT. As regards the swi 0x900004, it can very well be as with ARM, it boots to 0x0 then the bootloader starts to populate any kernel parameters from 0x100 and the actual kernel starting at 0x8000, so it could well be that the system call vector table starts at 0x900000 and since sys_write is the fouth call it stands to reason it would be at 0x900004. Last edited by AnewUser on 02 Jun 2012, 12:51; edited 1 time in total |
|||
02 Jun 2012, 12:44 |
|
revolution 02 Jun 2012, 12:48
|
|||
02 Jun 2012, 12:48 |
|
revolution 02 Jun 2012, 12:54
AnewUser wrote: ... so it could well be that the |
|||
02 Jun 2012, 12:54 |
|
AnewUser 02 Jun 2012, 13:01
Interesting, are you then saying that swi 800004 would achieve the same result?
Or have I missed something? |
|||
02 Jun 2012, 13:01 |
|
revolution 02 Jun 2012, 13:03
AnewUser wrote: Interesting, are you then saying that swi 800004 would achieve the same result? |
|||
02 Jun 2012, 13:03 |
|
AnewUser 02 Jun 2012, 13:15
OK, I think the confusion may be coming from us using different terminology.
The addresses and offsets I refered to are software addresses as we are "talking" to the OS kernel and not a peripheral. Not trying to be argumentative, just trying to clear my beginners confusion. |
|||
02 Jun 2012, 13:15 |
|
revolution 02 Jun 2012, 13:50
It is up to the kernel if it wants to jump directly to the SWI parameter passed by the user. Although, to me that would seem like an extremely bad idea. More likely it will have some sort of lookup table to decide what to do. Anyhow, I suppose the Linux source code will give the ultimate answer to your question.
|
|||
02 Jun 2012, 13:50 |
|
AnewUser 02 Jun 2012, 14:08
I agree.
I'm going to load QEMU on my PC and get a Linux ARM distro running on it then compile one of the armelf examples that came with FasmARM and see what the result is. Thanks for your input. |
|||
02 Jun 2012, 14:08 |
|
cwpjr 03 Jul 2012, 06:14
Post your travels if you would!
|
|||
03 Jul 2012, 06:14 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.