|
Subscribers H/PC Sensei Posts: | 1,166 |
Location: | Silicon Valley | Status: | |
| Hi,
Sorry for my ignorance, but what is BX ?
Thanks,
Mark |
|
|
|
H/PC Vanguard Posts: | 3,509 |
Location: | Japan | Status: | |
| Seems like it has something to do with Thumb code.
I have no idea what it is really, but:
This thread came up after searching.
https://groups.google.com/g/linux.debian.ports.arm/c/lbvmPvA6_2k/m/1...
After skimming, it seems it is a BX instruction emulation for ARMv4 / other ARM.
I'm sure somebody else than me knows much better.
More technical stuff:
https://stackoverflow.com/questions/27084857/what-does-bx-lr-do-in-a...
Edited by stingraze 2021-10-07 2:23 PM
|
|
|
|
H/PC Elite Posts: | 659 |
Location: | Florida, US | Status: | |
| BX (and variants) is a type of branch instruction that was added to the ARM hardware ion ARMv4T and ARMv5. Since our beloved Jornada runs on an ARMv4 CPU (StrongARM v1110) this instruction is not present in hardware. Therefore the two options you have are either: 1. emulate the BX instruction on the Linux kernel using other instructions in place that will have the same behavior, or 2. patch BX instruction replacing it with equivalent instructions (that's what I believe Stefan is doing). |
|
|
|
Subscribers H/PC Sensei Posts: | 1,166 |
Location: | Silicon Valley | Status: | |
| Thanks for the info....
So, is there a benefit in device performance with BX or ? |
|
|
|
H/PC Elite Posts: | 659 |
Location: | Florida, US | Status: | |
| There is benefit for the CPUs that implement it in hardware. In our case, it is actually worse to run software that implement these instructions because our CPU does not have those instructions, so they need to be emulated (which requires a kernel trap - very time consuming) or patched. For our jornadas it would be best if software were compiled without BX instructions, but I don’t think anyone in here wants to recompile the entire Debian/Devuan package base, right? |
|
|
|
Subscribers H/PC Sensei Posts: | 1,166 |
Location: | Silicon Valley | Status: | |
| Thanks, ntware, for the detailed explanation.
So, I assume the benefit for CPU's is that they perform faster/better?
And yes, I don't want to recompile the entire Debian/Devuan package.....  |
|
|
|
Subscribers Factorite (Elite) Posts: | 208 |
Location: | Austria | Status: | |
| Hello! Thanks for the explanations.
As mentioned in my first Linux post: The problem is that ARMv4 CPUs like the SA-1110 have no BX instruction, which are only available on newer ARMv4t CPUs. So you can not run any newer userland like Debian armel. So we have to emulate/patch this instruction to be able to run Debian/Devuan. This is ugly - but as ntware wrote, no one would be happy recompiling the whole world for our ARMv4 CPU
The old Kernel always emulated the BX instruction. With the newer Kernel you are able to switch between emulating or patching it.
Regards
Stefan |
|
|
|
Subscribers H/PC Sensei Posts: | 1,166 |
Location: | Silicon Valley | Status: | |
| Thanks, Stefan.....
Always learn a lot from you, ntware, stingraze, etc....
Keep up the great work!
Best,
Mark |
|
|
|
H/PC Newbie Posts: | 7 |
Location: | United Kingdom | Status: | |
| Quick shout out to Stefan @_dev-null, I've revived a Jornada 720 on an 8GB CF card with those wonderful instructions.
Especially the detailed explanations like how to use cfdisk and stuff, as I was a bit lost!
Now, if I can just figure how to connect to WiFi with this old PC Card then it'll be a useful device once again! .. might not be possible but who knows  |
|
|
|
H/PC Newbie Posts: | 7 |
Location: | United Kingdom | Status: | |
| ^ More details for those interested: It's happily running the Devuan variant, and I used a Raspberry Pi with a usb card reader for the whole process.
My WiFi card is a Lucent WaveLAN Gold, but it doesn't light or show up in iwconfig so I'm stuck as I can't think of a way to install packages or anything but oh well. Perhaps there is another WIFI card that works by default? Hopefully someone knows.. |
|
|
|
Subscribers H/PC Sensei Posts: | 962 |
Location: | Northern California | Status: | |
| Quote entozoon - 2021-11-29 7:54 AM
^ More details for those interested: It's happily running the Devuan variant, and I used a Raspberry Pi with a usb card reader for the whole process.
My WiFi card is a Lucent WaveLAN Gold, but it doesn't light or show up in iwconfig so I'm stuck as I can't think of a way to install packages or anything but oh well. Perhaps there is another WIFI card that works by default? Hopefully someone knows..
Good for you!
For WPA wifi with Devuan: 1 ). Netgear MA 401 firmware ver 1.7 or 1.8
2 ), Linksys WPC ver 3 (NOT ver 4 ) firmware 1.7
For Ethernet with Devuan: Any NE2000 compatible
You may want too check out this thread : https://www.hpcfactor.com/forums/forums/thread-view.asp?tid=20175&st... on how to flash firmware and connect with connman connection manager as well as referring to Stefan's jornada wiki,
joval
FYI: posting from a J720 (64Mb Rom )/Stefan's_Devuan_3.1.81Bx kernel /LinksysWPC11_WPA_wifi/ssh with X-forwarding/to RasPi quad core Zero2-with Zram_Overclocked+WPA2wifi/VNCviewer "hybrid" Edited by joval 2021-11-30 4:00 AM
|
|
|
|
Subscribers Factorite (Elite) Posts: | 208 |
Location: | Austria | Status: | |
| Something I completely forgot to tell you:
You can add bx_patch=1 to the Kernel command line in your PARAMS.txt - this activates the BX patching at boot time!
Example PARAMS.txt
\Storage Card\zimage
\Storage Cardroot=/dev/hda2 mem=32m rootdelay=5 bx_patch=1 |
|
|
|
Subscribers Factorite (Elite) Posts: | 208 |
Location: | Austria | Status: | |
| @entozoon
If you insert the card - is something showing up in dmesg about the card? |
|
|
|
Factor Fanatic Posts: | 64 |
Location: | Germany | Status: | |
| Good day guys,
wanted to give you a quick status update as well:
I've been working with Stefan (_dev-null ) over the last 1 1/2 months on a Linux sound driver implementation for the Jornada. We now finally arrived at a point where we have a stable ALSA driver that allows to play PCM 16-bit stereo sound with samplerates from 8-48kHz through the built-in speaker / headphone jack.
Here's a short demonstration video (unfortunately Youtube forced me cut out a segment but it still shows whats going on ):
The driver is included with Stefans current kernel release download, it's located in the modules folder with the name "snd-jornada720".
Installation instructions:
- You can load it into the running system with "sudo modprobe snd-jornada720"
- In order to load it on each system start add this line to /etc/modules: snd-jornada720
- Make sure your user account is member of the audio group (adding video and input wouldn't hurt either)
- apt install alsa-utils
- Install your favorite audio app, I highly recommend the MOC player (apt install moc) which will play WAV, MP3, MOD +many more and will allow you to listen to internet streams as well
Limitations:
- No audio recording
- No power management, to save power unload the module with rmmod snd-jornada720
Credits:
- Stefan for patient and thorough testing and proving feedback and inspirations
- All the folks that worked on previous SA1111 L3/DMA and UDA1344 codec implementations for making their code public
Thanks and enjoy
TimoB0 |
|
|
|
Subscribers H/PC Sensei Posts: | 1,166 |
Location: | Silicon Valley | Status: | |
| Hi Timo,
WOW! this is great work!
Thanks to you and Stefan for doing this and sharing it.
Enjoyed the video too!
Best,
Mark |
|
|