Add mips arch #455

Closed
wants to merge 3 commits into
from

Projects

None yet

3 participants

@theuni
Member
theuni commented Sep 30, 2011

Nothing exciting here, basically just the same guards we already have for ppc/arm, plus some atomics borrowed from the Linux kernel (and split out to avoid making things messy).

theuni added some commits Sep 30, 2011
theuni mips: add guards 832dfd9
theuni mips: add atomics
Most taken from the linux kernel.
9e3a819
theuni mips: add configure options a308ddf
@jimfcarroll
Member

Hey. New MIPS atmomics. How about fixing the Linux AtomicAdd and AtomicSubtract return values.

@TheUni: Do you want to get the tests running for these?

@jimfcarroll
Member

Do we really need to hard code the python version? Does the autoconf script fail?

Member

There is no good way of doing this. Python is almost impossible to build via cross. It's either this, or try to control it with an assortment of configure options and environment variables.

It's been a while on this one, I can certainly give it another go.

Member

No No. I just asked. I didn't realize this was being cross-compiled. That explains why the autoconf macro can't be used. IMO it's not a big enough deal to spend more time on.

Member

Well it's far more than that. Python uses drumroll python as part of its build process. Furthermore, it uses python to determine how to run THAT build process. So without being able to run at build-time, even when building a host-python, it's a mess. See just above, ios does the same thing.

As I said, it was either this, or some crazy options. IMO it's better to leave it with something reasonable and let packagers patch configure if necessary.

@theuni
Member
theuni commented Sep 30, 2011

Heh, fixing x86 is out of my league I'm afraid.

As for the tests.. sure. Is anything needed to hook them up?

@jimfcarroll
Member

Yeah ... that was a nudge to phi :)

@theuni theuni commented on the diff Sep 30, 2011
xbmc/utils/fastmemcpy.c
@@ -21,7 +21,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
-#if !defined(_WIN32) && !defined(__ppc__) && !defined(__powerpc__) && !defined(__arm__)
@theuni
theuni Sep 30, 2011 Team Kodi member

I'd really prefer that these be (x86 || x64) rather than !(everything else), especially since we're testing mmx/sse.

But I"m hesitant to hook up i386 (which is what my 32bit gcc shows) as I'm not sure how universal that is. I would assume it's fine, but that's the kind of assumption that usually makes me look stupid.

Ideas welcome.

Grr, stupid markup. That's _ i386 _

@jimfcarroll
Member

As for the tests, I have them separated out from boost now. I need to do a little work on them yet, but I'll let you know this weekend when you can give them a shot. Of course you'll need to run them on a mips machine.

@davilla
davilla commented Sep 30, 2011

I'me beginning to thing that we should be using compiler atomic where supported. As far as I know, the only compiler that does not have the nice atomic intrinsics is osx's gcc-4.0. Pretty much everything else is at least 4.2 and above. As for osx, after 11.0 release, we bump to 10.6sdk and move to gcc-4.2/llvm-cpp-4.2.

@theuni
Member
theuni commented Oct 12, 2011

Ok, the python stuff can be removed as they can be influenced with env vars. That leaves the implementation clean.

I'll be pushing this in soon unless there are any other complaints.

@theuni
Member
theuni commented Apr 4, 2012

Closing this, it'll come as part of a bigger refactor.

@theuni theuni closed this Apr 4, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment