Arm port

If this is the wrong list, please correct me, thanks.

I'm trying to get a bit more information about the Arm backend for llvm. The
precise processor I'm interested in is the TI OMAP3530 (the Cortex-A8 is the
main CPU, along with other processors onboard the chip). I did see that the
backend for Arm has support for the V6, but I'm thinking (I could be wrong) that
the Cortex-A8 is more V7 compatible. So, I was wondering if the LLVM would be
available to me for my project, and if it's not, is support for the Cortex planned.

Thanks

I am currently working on support for the Cortex-A9, but as all
compiler testing is more easily done on an Cortex-A8 today, A8 support
is implicit.

What specific ISA changes are you most interested in? Are you able to
develop patches if we coordinate which areas to work on?

deep

Sandeep Patel wrote:

I am currently working on support for the Cortex-A9, but as all
compiler testing is more easily done on an Cortex-A8 today, A8 support
is implicit.

What specific ISA changes are you most interested in? Are you able to
develop patches if we coordinate which areas to work on?

Hmm. Well, my motivation is that I recently bought a Pandora (it has the
Cortex-A8). It's not going to arrive here for a couple more months, I think.
When it does finally arrive, I want to be able to immediately begin work on
replacing the Linux that comes pre-installed with FreeBSD-arm.

I'm not any kind of compiler specialist, and on top of that, the last 2-3 years
have seen me medically retired, so I can't code at the same rate I used to. I'm
perfectly willing to help you if there is some specific task you wanted to give
me, but I only really wanted to see A8 compatibility. If I can help you with
A9, I'm willing to do whatever reading is needed, if you think I might be of
help, but my experience at doing compilers is very minimal. It seems to me that
any time I spend helping out (assuming you decide there is anything I could do)
would help me when I got to the FreeBSD porting task. OSes I *have* worked on,
that part doesn't worry me, I wrote 3 of them.

If you want my help, that's great, but if not, I'm still curious to get your
feeling on how long it might be before something testable (not really release
level) might be available for testing? At least to begin with, I could start
coding on my own ultimate project without actually having the compiler, but it
will start hurting me in not very long ... maybe I could start work with
gcc-4.3.1 and move to llvm when it becomes a possibility, that might work out.

Well, let me know if I might be of some help.

Hi Chuck,

I'm not very familiar with the Pandora, but as far as I know ARM is pretty good about backward compatibility. You should be able to run ARM code compiled by LLVM on it. LLVM currently only generates code for version 6 of the ARM architecture, so you wouldn't be taking full advantage of the Pandora's processor but it may not matter, depending on what you're trying to do with it.

If you are able to try out LLVM for ARM, we would welcome your feedback and contributions!

--Bob

Bob Wilson wrote:

Hmm. Well, my motivation is that I recently bought a Pandora (it
has the
Cortex-A8). It's not going to arrive here for a couple more months,
I think.
When it does finally arrive, I want to be able to immediately begin
work on
replacing the Linux that comes pre-installed with FreeBSD-arm.

Hi Chuck,

I'm not very familiar with the Pandora, but as far as I know ARM is
pretty good about backward compatibility. You should be able to run
ARM code compiled by LLVM on it. LLVM currently only generates code
for version 6 of the ARM architecture, so you wouldn't be taking full
advantage of the Pandora's processor but it may not matter, depending
on what you're trying to do with it.

If you are able to try out LLVM for ARM, we would welcome your
feedback and contributions!

Certainly, I'll test it out. In fact, I think now, that I do have a Nokia N800,
and it runs the same TI OMAP3530 (I think, but I'm going to have to go
doublecheck that) so I might well be able to test immediately.

Tell you what: beginning immediately, I'll start reading all of the documents I
can find at your site, so I'm not quite so dumb at it. I haven't seen that the
code was up for download (or checkout?) but if it is, I'll fetch it and begin
looking things over. If there is anything concrete that I could contribute,
I'll do that. But, just doing all that reading is going to take me some time
(to really learn it all). If you folks can offer me a compiler tool which I can
ultimately use for the porting of FreeBSD to the Pandora (or the N800?), then
I'm going to really owe you something, I think.

That means, I'll likely disappear now that I can start reading things. I
haven't gone away, I'm just trying to get to the point that I'm of use.

The Nokia N800 is an OMAP 2420 which is an ARM11.

If you want an OMAP 3530 today, I think the cheapest route is the Beagleboard.

deep

Sandeep Patel wrote:

The Nokia N800 is an OMAP 2420 which is an ARM11.

If you want an OMAP 3530 today, I think the cheapest route is the Beagleboard.

Yeah, I see that now, about the N800. About the BeagleBoard, if you're going
after an equivalent # of peripherals (screen and keyboard are things I wanted)
then, really, I think that the Pandora is cheapest. I will say, without
reservation, that the BeagleBoard is the goddamndest best single board computer
that I've EVER seen, and I've put together a pretty large set of them, for one
communications company or another. It's just my opinion, but I think that
covering that OMAP3530 is really important, cause you're covering a pretty darn
big slice of homebrew enthusiasts, as opposed to people who'd let their
computers end up as doorstops.

Besides, I've already bought the Pandora, it's kinda late to change my mind. It
hasn't arrived here yet, though, and I expect it to be another month or two
before it finally does. It's being produced by a set of open software guys, who
are great at putting together a good list of peripherals, but they really don't
seem to understand deadlines all that well. I guess it won't kill me to wait a
little.

What was actually important to me was getting a compiler to assist a FreeBSD
porting effort, and I just hope that llvm becomes available for the Cortex-A8
(or A9, as you said) soonest. I'm reading the llvm docs now, and referring to
my old college compiler books. Unfortunately, I concentrated in OSes when I was
in school. I did get a piece of luck, and was able to pick up a copy of that
great compiler book, cheaply, even (that guy didn't ever want to be reminded
what compilers were!)

Hello Chuck,

The Pandora is a tiny little handheld the size of a NintendoDS. You might have trouble typing on the tiny little keypad unless you plug a full-size keyboard into it. The 800x480 screen should be alright though and you might be able to use a TV adapter cable with the Pandora if you need to. It should be able to run much of the same software as the Beagleboard as long as the screenmode is compatible.

If I had the money at the time preorders were taken on the first batch of Pandoras I might have ordered one. I have trouble justifying it to myself when I have a fully-functional AMD-based dual-core Linux Laptop and hardly use it. I'd like to support the Pandora in the software I'm writing though.

--Sam