SGI: Development

uint64_t support

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
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.
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)
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
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
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)
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