uint64_t support

IRIX/Nekoware development, porting and related topics.
Forum rules
Any posts concerning pirated software or offering to buy/sell/trade commercial software are subject to removal.
User avatar
BSDero
Posts: 217
Joined: Thu Nov 24, 2005 9:11 am
Location: Aguascalientes, Mexico
Contact:

uint64_t support

Unread postby BSDero » Thu May 24, 2012 6:41 pm

Hi all!!

Is this data type uint64_t supported in O2, and previous SGI machines?
I'm trying to so something portable across SGI machines, but I´m not sure if this is supported in old machines.


Thanks in advance, guys!!
__Zacatito__Image 600 MHZ R14000; 17GBytes HD
__Nopalito__Image 200 MHZ R5000; 9GBytes HD
Guadalajara, Jal and Aguascalientes, Ags
Mexico

User avatar
Martin Steen
Posts: 158
Joined: Tue Sep 25, 2007 2:00 am
Location: Braunschweig (Germany)
Contact:

Re: uint64_t support

Unread postby Martin Steen » Fri May 25, 2012 2:31 am

BSDero wrote:Hi all!!

Is this data type uint64_t supported in O2, and previous SGI machines?
I'm trying to so something portable across SGI machines, but I´m not sure if this is supported in old machines.


Thanks in advance, guys!!


If uint64_t is supported depends on the compiler, not on the machine.

If you use uint64_t with a 32-bit-compiler, the 64-bit-arithmetics is
emulated with 32-bit-commands.

User avatar
jan-jaap
Posts: 4081
Joined: Thu Jun 17, 2004 11:35 am
Location: Wijchen, The Netherlands

Re: uint64_t support

Unread postby jan-jaap » Fri May 25, 2012 2:41 am

Any CPU since the R4000 can do 64bit arithmetic as long as you use the N32 or 64 ABI.

uint64_t is defined in <inttypes.h> and <sys/types.h>
Now this is a deep dark secret, so everybody keep it quiet :)
It turns out that when reset, the WD33C93 defaults to a SCSI ID of 0, and it was simpler to leave it that way... -- Dave Olson, in comp.sys.sgi

Currently in commercial service: Image :Onyx2:(2x) :O3x02L:
In the museum: almost every MIPS/IRIX system.
Wanted: GM1 board for Professional Series GT graphics (030-0076-003, 030-0076-004)

User avatar
BSDero
Posts: 217
Joined: Thu Nov 24, 2005 9:11 am
Location: Aguascalientes, Mexico
Contact:

Re: uint64_t support

Unread postby BSDero » Tue May 29, 2012 2:15 pm

What if I'm building a kernel module using uint64_t in a Fuel/Irix 6.5.30?

It's compatible backwards to, maybe O2 with 6.5.x?? Would it run on this machine?

Will be binary compatibility at kernel/driver level?

Thanks in advance guys
__Zacatito__Image 600 MHZ R14000; 17GBytes HD
__Nopalito__Image 200 MHZ R5000; 9GBytes HD
Guadalajara, Jal and Aguascalientes, Ags
Mexico

User avatar
Martin Steen
Posts: 158
Joined: Tue Sep 25, 2007 2:00 am
Location: Braunschweig (Germany)
Contact:

Re: uint64_t support

Unread postby Martin Steen » Wed May 30, 2012 1:24 am

BSDero wrote:What if I'm building a kernel module using uint64_t in a Fuel/Irix 6.5.30?

It's compatible backwards to, maybe O2 with 6.5.x?? Would it run on this machine?

Will be binary compatibility at kernel/driver level?

Thanks in advance guys


I have no experience with building kernel modules. Are you building
a 32- or 64-Bit Kernel?

If you use the "-mips4" compiler-flag (I asume you have the MipsPro-compiler),
the generated code uses the full MIPS IV instruction set, which is supported
on R10000, R5000 and R8000 systems. O2 has a R5000, AFAIK.
http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi?coll=0650&db=man&fname=/usr/share/catman/u_man/cat1/cc.z

User avatar
jan-jaap
Posts: 4081
Joined: Thu Jun 17, 2004 11:35 am
Location: Wijchen, The Netherlands

Re: uint64_t support

Unread postby jan-jaap » Wed May 30, 2012 1:36 am

There is no binary compatibility. Kernel object code (and modules) is compiled separately for each IPxx family (IP27, IP35, IP32, ...).

Additionally, IP32 (the O2) uses 32bit pointers, the rest is 64bit.
Now this is a deep dark secret, so everybody keep it quiet :)
It turns out that when reset, the WD33C93 defaults to a SCSI ID of 0, and it was simpler to leave it that way... -- Dave Olson, in comp.sys.sgi

Currently in commercial service: Image :Onyx2:(2x) :O3x02L:
In the museum: almost every MIPS/IRIX system.
Wanted: GM1 board for Professional Series GT graphics (030-0076-003, 030-0076-004)

User avatar
BSDero
Posts: 217
Joined: Thu Nov 24, 2005 9:11 am
Location: Aguascalientes, Mexico
Contact:

Re: uint64_t support

Unread postby BSDero » Fri Jun 01, 2012 1:00 pm

I forgot completely that point about Kernel objects code, but it's true.

Well, i'm cooking something interesting, but I think more work is needed before have something useful.

Thank you guys.
__Zacatito__Image 600 MHZ R14000; 17GBytes HD
__Nopalito__Image 200 MHZ R5000; 9GBytes HD
Guadalajara, Jal and Aguascalientes, Ags
Mexico


Return to “SGI: Development”

Who is online

Users browsing this forum: No registered users and 1 guest