Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 4193
b: refs/heads/master
c: 283c7f6
h: refs/heads/master
i:
  4191: a665536
v: v3
  • Loading branch information
Prarit Bhargava authored and Tony Luck committed Jul 6, 2005
1 parent 89dfae5 commit 0917795
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 37 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: e07d01e0aeba905aeca6e0ae612943417d396a0f
refs/heads/master: 283c7f6ac6adb57e7dd13cdbc8d60b6ea4de6faf
13 changes: 6 additions & 7 deletions trunk/arch/ia64/sn/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ void __init sn_setup(char **cmdline_p)
{
long status, ticks_per_sec, drift;
int pxm;
int major = sn_sal_rev_major(), minor = sn_sal_rev_minor();
u32 version = sn_sal_rev();
extern void sn_cpu_init(void);

ia64_sn_plat_set_error_handling_features();
Expand Down Expand Up @@ -308,22 +308,21 @@ void __init sn_setup(char **cmdline_p)
* support here so we don't have to listen to failed keyboard probe
* messages.
*/
if ((major < 2 || (major == 2 && minor <= 9)) &&
acpi_kbd_controller_present) {
if (version <= 0x0209 && acpi_kbd_controller_present) {
printk(KERN_INFO "Disabling legacy keyboard support as prom "
"is too old and doesn't provide FADT\n");
acpi_kbd_controller_present = 0;
}

printk("SGI SAL version %x.%02x\n", major, minor);
printk("SGI SAL version %x.%02x\n", version >> 8, version & 0x00FF);

/*
* Confirm the SAL we're running on is recent enough...
*/
if ((major < SN_SAL_MIN_MAJOR) || (major == SN_SAL_MIN_MAJOR &&
minor < SN_SAL_MIN_MINOR)) {
if (version < SN_SAL_MIN_VERSION) {
printk(KERN_ERR "This kernel needs SGI SAL version >= "
"%x.%02x\n", SN_SAL_MIN_MAJOR, SN_SAL_MIN_MINOR);
"%x.%02x\n", SN_SAL_MIN_VERSION >> 8,
SN_SAL_MIN_VERSION & 0x00FF);
panic("PROM version too old\n");
}

Expand Down
3 changes: 1 addition & 2 deletions trunk/arch/ia64/sn/pci/tioca_provider.c
Original file line number Diff line number Diff line change
Expand Up @@ -589,8 +589,7 @@ tioca_bus_fixup(struct pcibus_bussoft *prom_bussoft)

/* sanity check prom rev */

if (sn_sal_rev_major() < 4 ||
(sn_sal_rev_major() == 4 && sn_sal_rev_minor() < 6)) {
if (sn_sal_rev() < 0x0406) {
printk
(KERN_ERR "%s: SGI prom rev 4.06 or greater required "
"for tioca support\n", __FUNCTION__);
Expand Down
39 changes: 12 additions & 27 deletions trunk/include/asm-ia64/sn/sn_sal.h
Original file line number Diff line number Diff line change
Expand Up @@ -134,43 +134,28 @@

#define SN_SAL_FAKE_PROM 0x02009999


/**
* sn_sal_rev_major - get the major SGI SAL revision number
*
* The SGI PROM stores its version in sal_[ab]_rev_(major|minor).
* This routine simply extracts the major value from the
* @ia64_sal_systab structure constructed by ia64_sal_init().
*/
static inline int
sn_sal_rev_major(void)
* sn_sal_revision - get the SGI SAL revision number
*
* The SGI PROM stores its version in the sal_[ab]_rev_(major|minor).
* This routine simply extracts the major and minor values and
* presents them in a u32 format.
*
* For example, version 4.05 would be represented at 0x0405.
*/
static inline u32
sn_sal_rev(void)
{
struct ia64_sal_systab *systab = efi.sal_systab;

return (int)systab->sal_b_rev_major;
}

/**
* sn_sal_rev_minor - get the minor SGI SAL revision number
*
* The SGI PROM stores its version in sal_[ab]_rev_(major|minor).
* This routine simply extracts the minor value from the
* @ia64_sal_systab structure constructed by ia64_sal_init().
*/
static inline int
sn_sal_rev_minor(void)
{
struct ia64_sal_systab *systab = efi.sal_systab;

return (int)systab->sal_b_rev_minor;
return (u32)(systab->sal_b_rev_major << 8 | systab->sal_b_rev_minor);
}

/*
* Specify the minimum PROM revsion required for this kernel.
* Note that they're stored in hex format...
*/
#define SN_SAL_MIN_MAJOR 0x4 /* SN2 kernels need at least PROM 4.0 */
#define SN_SAL_MIN_MINOR 0x0
#define SN_SAL_MIN_VERSION 0x0404

/*
* Returns the master console nasid, if the call fails, return an illegal
Expand Down

0 comments on commit 0917795

Please sign in to comment.