diff options
| author | Geoff Levand <geoffrey.levand@am.sony.com> | 2007-10-06 17:35:43 -0400 |
|---|---|---|
| committer | Paul Mackerras <paulus@samba.org> | 2007-10-09 07:01:57 -0400 |
| commit | ca94297f0c169710848a095a2fd986195e546cb3 (patch) | |
| tree | dc13abd138e979569c99ff759cfc2b5ce18ec864 | |
| parent | d767efe30f42c9e827ac1f452762f55b2d8fbdb3 (diff) | |
[POWERPC] PS3: Cleanup of os-area.c
Minor cleanup of the PS3 file os-area.c:
o Correct file text header.
o Add type names enum os_area_ldr_format, enum os_area_boot_flag,
enum os_area_ctrl_button.
o Change struct os_area_header.magic_num type to u8.
o Add preprocessor macro SECONDS_FROM_1970_TO_2000.
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
| -rw-r--r-- | arch/powerpc/platforms/ps3/os-area.c | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/arch/powerpc/platforms/ps3/os-area.c b/arch/powerpc/platforms/ps3/os-area.c index b70e474014f0..ee463d0f87ad 100644 --- a/arch/powerpc/platforms/ps3/os-area.c +++ b/arch/powerpc/platforms/ps3/os-area.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * PS3 'Other OS' area data. | 2 | * PS3 flash memory os area. |
| 3 | * | 3 | * |
| 4 | * Copyright (C) 2006 Sony Computer Entertainment Inc. | 4 | * Copyright (C) 2006 Sony Computer Entertainment Inc. |
| 5 | * Copyright 2006 Sony Corp. | 5 | * Copyright 2006 Sony Corp. |
| @@ -29,7 +29,7 @@ enum { | |||
| 29 | OS_AREA_SEGMENT_SIZE = 0X200, | 29 | OS_AREA_SEGMENT_SIZE = 0X200, |
| 30 | }; | 30 | }; |
| 31 | 31 | ||
| 32 | enum { | 32 | enum os_area_ldr_format { |
| 33 | HEADER_LDR_FORMAT_RAW = 0, | 33 | HEADER_LDR_FORMAT_RAW = 0, |
| 34 | HEADER_LDR_FORMAT_GZIP = 1, | 34 | HEADER_LDR_FORMAT_GZIP = 1, |
| 35 | }; | 35 | }; |
| @@ -50,7 +50,7 @@ enum { | |||
| 50 | */ | 50 | */ |
| 51 | 51 | ||
| 52 | struct os_area_header { | 52 | struct os_area_header { |
| 53 | s8 magic_num[16]; | 53 | u8 magic_num[16]; |
| 54 | u32 hdr_version; | 54 | u32 hdr_version; |
| 55 | u32 os_area_offset; | 55 | u32 os_area_offset; |
| 56 | u32 ldr_area_offset; | 56 | u32 ldr_area_offset; |
| @@ -60,12 +60,12 @@ struct os_area_header { | |||
| 60 | u32 _reserved_2[6]; | 60 | u32 _reserved_2[6]; |
| 61 | }; | 61 | }; |
| 62 | 62 | ||
| 63 | enum { | 63 | enum os_area_boot_flag { |
| 64 | PARAM_BOOT_FLAG_GAME_OS = 0, | 64 | PARAM_BOOT_FLAG_GAME_OS = 0, |
| 65 | PARAM_BOOT_FLAG_OTHER_OS = 1, | 65 | PARAM_BOOT_FLAG_OTHER_OS = 1, |
| 66 | }; | 66 | }; |
| 67 | 67 | ||
| 68 | enum { | 68 | enum os_area_ctrl_button { |
| 69 | PARAM_CTRL_BUTTON_O_IS_YES = 0, | 69 | PARAM_CTRL_BUTTON_O_IS_YES = 0, |
| 70 | PARAM_CTRL_BUTTON_X_IS_YES = 1, | 70 | PARAM_CTRL_BUTTON_X_IS_YES = 1, |
| 71 | }; | 71 | }; |
| @@ -84,6 +84,9 @@ enum { | |||
| 84 | * @dns_primary: User preference of static primary dns server. | 84 | * @dns_primary: User preference of static primary dns server. |
| 85 | * @dns_secondary: User preference of static secondary dns server. | 85 | * @dns_secondary: User preference of static secondary dns server. |
| 86 | * | 86 | * |
| 87 | * The ps3 rtc maintains a read-only value that approximates seconds since | ||
| 88 | * 2000-01-01 00:00:00 UTC. | ||
| 89 | * | ||
| 87 | * User preference of zero for static_ip_addr means use dhcp. | 90 | * User preference of zero for static_ip_addr means use dhcp. |
| 88 | */ | 91 | */ |
| 89 | 92 | ||
| @@ -108,6 +111,8 @@ struct os_area_params { | |||
| 108 | u8 _reserved_5[8]; | 111 | u8 _reserved_5[8]; |
| 109 | }; | 112 | }; |
| 110 | 113 | ||
| 114 | #define SECONDS_FROM_1970_TO_2000 946684800LL | ||
| 115 | |||
| 111 | /** | 116 | /** |
| 112 | * struct saved_params - Static working copies of data from the 'Other OS' area. | 117 | * struct saved_params - Static working copies of data from the 'Other OS' area. |
| 113 | * | 118 | * |
| @@ -213,7 +218,8 @@ int __init ps3_os_area_init(void) | |||
| 213 | } | 218 | } |
| 214 | 219 | ||
| 215 | header = (struct os_area_header *)__va(lpar_addr); | 220 | header = (struct os_area_header *)__va(lpar_addr); |
| 216 | params = (struct os_area_params *)__va(lpar_addr + OS_AREA_SEGMENT_SIZE); | 221 | params = (struct os_area_params *)__va(lpar_addr |
| 222 | + OS_AREA_SEGMENT_SIZE); | ||
| 217 | 223 | ||
| 218 | result = verify_header(header); | 224 | result = verify_header(header); |
| 219 | 225 | ||
| @@ -238,16 +244,13 @@ int __init ps3_os_area_init(void) | |||
| 238 | } | 244 | } |
| 239 | 245 | ||
| 240 | /** | 246 | /** |
| 241 | * ps3_os_area_rtc_diff - Returns the ps3 rtc diff value. | 247 | * ps3_os_area_rtc_diff - Returns the rtc diff value. |
| 242 | * | ||
| 243 | * The ps3 rtc maintains a value that approximates seconds since | ||
| 244 | * 2000-01-01 00:00:00 UTC. Returns the exact number of seconds from 1970 to | ||
| 245 | * 2000 when saved_params.rtc_diff has not been properly set up. | ||
| 246 | */ | 248 | */ |
| 247 | 249 | ||
| 248 | u64 ps3_os_area_rtc_diff(void) | 250 | u64 ps3_os_area_rtc_diff(void) |
| 249 | { | 251 | { |
| 250 | return saved_params.rtc_diff ? saved_params.rtc_diff : 946684800UL; | 252 | return saved_params.rtc_diff ? saved_params.rtc_diff |
| 253 | : SECONDS_FROM_1970_TO_2000; | ||
| 251 | } | 254 | } |
| 252 | 255 | ||
| 253 | /** | 256 | /** |
