diff options
| author | Matthew Wilcox <matthew@wil.cx> | 2006-06-23 15:15:55 -0400 |
|---|---|---|
| committer | Tony Luck <tony.luck@intel.com> | 2006-07-31 14:49:13 -0400 |
| commit | 1bf1eba74ec14bc10966a8ddb23bc8deeb91facd (patch) | |
| tree | bf2c62d0625bebb5516aac808f810cc31b146dbd | |
| parent | b6ff50833ad43a8ebd9b16bf53c334f7aaf33c41 (diff) | |
[IA64] Format /proc/pal/*/version_info correctly
/proc/pal/*/version_info is a bit confusing. HP firmware, at least,
reports 07.31 instead of 0.7.31. Also, the comment is out of place;
it's an internal detail about the implementation of ia64_pal_version.
Since the 2.2 revision of the SDM still states that PAL_VERSION can
be called in virtual mode, correct the comment to be more accurate.
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: Tony Luck <tony.luck@intel.com>
| -rw-r--r-- | arch/ia64/kernel/palinfo.c | 34 | ||||
| -rw-r--r-- | include/asm-ia64/pal.h | 7 |
2 files changed, 20 insertions, 21 deletions
diff --git a/arch/ia64/kernel/palinfo.c b/arch/ia64/kernel/palinfo.c index 3f5bac59209a..ce9f199bbf39 100644 --- a/arch/ia64/kernel/palinfo.c +++ b/arch/ia64/kernel/palinfo.c | |||
| @@ -566,29 +566,23 @@ version_info(char *page) | |||
| 566 | pal_version_u_t min_ver, cur_ver; | 566 | pal_version_u_t min_ver, cur_ver; |
| 567 | char *p = page; | 567 | char *p = page; |
| 568 | 568 | ||
| 569 | /* The PAL_VERSION call is advertised as being able to support | 569 | if (ia64_pal_version(&min_ver, &cur_ver) != 0) |
| 570 | * both physical and virtual mode calls. This seems to be a documentation | 570 | return 0; |
| 571 | * bug rather than firmware bug. In fact, it does only support physical mode. | ||
| 572 | * So now the code reflects this fact and the pal_version() has been updated | ||
| 573 | * accordingly. | ||
| 574 | */ | ||
| 575 | if (ia64_pal_version(&min_ver, &cur_ver) != 0) return 0; | ||
| 576 | 571 | ||
| 577 | p += sprintf(p, | 572 | p += sprintf(p, |
| 578 | "PAL_vendor : 0x%02x (min=0x%02x)\n" | 573 | "PAL_vendor : 0x%02x (min=0x%02x)\n" |
| 579 | "PAL_A : %x.%x.%x (min=%x.%x.%x)\n" | 574 | "PAL_A : %02x.%02x (min=%02x.%02x)\n" |
| 580 | "PAL_B : %x.%x.%x (min=%x.%x.%x)\n", | 575 | "PAL_B : %02x.%02x (min=%02x.%02x)\n", |
| 581 | cur_ver.pal_version_s.pv_pal_vendor, min_ver.pal_version_s.pv_pal_vendor, | 576 | cur_ver.pal_version_s.pv_pal_vendor, |
| 582 | 577 | min_ver.pal_version_s.pv_pal_vendor, | |
| 583 | cur_ver.pal_version_s.pv_pal_a_model>>4, | 578 | cur_ver.pal_version_s.pv_pal_a_model, |
| 584 | cur_ver.pal_version_s.pv_pal_a_model&0xf, cur_ver.pal_version_s.pv_pal_a_rev, | 579 | cur_ver.pal_version_s.pv_pal_a_rev, |
| 585 | min_ver.pal_version_s.pv_pal_a_model>>4, | 580 | min_ver.pal_version_s.pv_pal_a_model, |
| 586 | min_ver.pal_version_s.pv_pal_a_model&0xf, min_ver.pal_version_s.pv_pal_a_rev, | 581 | min_ver.pal_version_s.pv_pal_a_rev, |
| 587 | 582 | cur_ver.pal_version_s.pv_pal_b_model, | |
| 588 | cur_ver.pal_version_s.pv_pal_b_model>>4, | 583 | cur_ver.pal_version_s.pv_pal_b_rev, |
| 589 | cur_ver.pal_version_s.pv_pal_b_model&0xf, cur_ver.pal_version_s.pv_pal_b_rev, | 584 | min_ver.pal_version_s.pv_pal_b_model, |
| 590 | min_ver.pal_version_s.pv_pal_b_model>>4, | 585 | min_ver.pal_version_s.pv_pal_b_rev); |
| 591 | min_ver.pal_version_s.pv_pal_b_model&0xf, min_ver.pal_version_s.pv_pal_b_rev); | ||
| 592 | return p - page; | 586 | return p - page; |
| 593 | } | 587 | } |
| 594 | 588 | ||
diff --git a/include/asm-ia64/pal.h b/include/asm-ia64/pal.h index 37e52a2836b0..20a8d618c845 100644 --- a/include/asm-ia64/pal.h +++ b/include/asm-ia64/pal.h | |||
| @@ -1433,7 +1433,12 @@ typedef union pal_version_u { | |||
| 1433 | } pal_version_u_t; | 1433 | } pal_version_u_t; |
| 1434 | 1434 | ||
| 1435 | 1435 | ||
| 1436 | /* Return PAL version information */ | 1436 | /* |
| 1437 | * Return PAL version information. While the documentation states that | ||
| 1438 | * PAL_VERSION can be called in either physical or virtual mode, some | ||
| 1439 | * implementations only allow physical calls. We don't call it very often, | ||
| 1440 | * so the overhead isn't worth eliminating. | ||
| 1441 | */ | ||
| 1437 | static inline s64 | 1442 | static inline s64 |
| 1438 | ia64_pal_version (pal_version_u_t *pal_min_version, pal_version_u_t *pal_cur_version) | 1443 | ia64_pal_version (pal_version_u_t *pal_min_version, pal_version_u_t *pal_cur_version) |
| 1439 | { | 1444 | { |
