openfirmware: adjust for 64bit

Sparcv9 runs Openboot in 64 bit mode, which means the cell size is
64bit. Use intptr_t where appropriate to make the open firmware calls
work.

Beware, some values are still 32bit, this matters for example for
of_getprop, if you get 32bits into a 64bit variables it will be in the
MSB of it (big endian only weakness...) and confuse things. See for
example in console.cpp, where the input and output handles are retrieved
as 32bit values. It seems wise to check the expected size when using
of_getprop in these cases, instead of just checking for errors.

Change-Id: Ie72ebc4afe7c6d7602a47478f0bfb6b8247004b8
Reviewed-on: https://review.haiku-os.org/c/1369
Reviewed-by: waddlesplash <[email protected]>
This commit is contained in:
PulkoMandy
2019-08-10 17:59:04 +00:00
committed by waddlesplash
parent bb6e4f5d94
commit d5cd4a9d51
13 changed files with 201 additions and 189 deletions
@@ -13,7 +13,7 @@
bigtime_t system_time(void);
int32 of_address_cells(int package);
int32 of_size_cells(int package);
int32 of_address_cells(intptr_t package);
int32 of_size_cells(intptr_t package);
#endif