Skip to content

Commit

Permalink
[x86 setup] Make struct ist_info cross-architecture, and use in setup…
Browse files Browse the repository at this point in the history
… code

Make "struct ist_info" valid on both i386 and x86-64, and use the
structure by name in the setup code.  Additionally, "Intel SpeedStep
IST" is redundant, refer to it as IST consistently.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
  • Loading branch information
H. Peter Anvin committed Jul 25, 2007
1 parent f77b1ab commit 238b706
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 14 deletions.
16 changes: 8 additions & 8 deletions arch/i386/boot/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -73,15 +73,15 @@ static void keyboard_set_repeat(void)
}

/*
* Get Intel SpeedStep IST information.
* Get Intel SpeedStep (IST) information.
*/
static void query_speedstep_ist(void)
static void query_ist(void)
{
asm("int $0x15"
: "=a" (boot_params.speedstep_info[0]),
"=b" (boot_params.speedstep_info[1]),
"=c" (boot_params.speedstep_info[2]),
"=d" (boot_params.speedstep_info[3])
: "=a" (boot_params.ist_info.signature),
"=b" (boot_params.ist_info.command),
"=c" (boot_params.ist_info.event),
"=d" (boot_params.ist_info.perf_level)
: "a" (0x0000e980), /* IST Support */
"d" (0x47534943)); /* Request value */
}
Expand Down Expand Up @@ -144,8 +144,8 @@ void main(void)
query_voyager();
#endif

/* Query SpeedStep IST information */
query_speedstep_ist();
/* Query Intel SpeedStep (IST) information */
query_ist();

/* Query APM information */
#if defined(CONFIG_APM) || defined(CONFIG_APM_MODULE)
Expand Down
5 changes: 3 additions & 2 deletions include/asm-i386/bootparam.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@
#include <linux/types.h>
#include <linux/screen_info.h>
#include <linux/apm_bios.h>
#include <asm/e820.h>
#include <linux/edd.h>
#include <asm/e820.h>
#include <asm/ist.h>
#include <video/edid.h>

struct setup_header {
Expand Down Expand Up @@ -59,7 +60,7 @@ struct boot_params {
struct screen_info screen_info; /* 0x000 */
struct apm_bios_info apm_bios_info; /* 0x040 */
u8 _pad2[12]; /* 0x054 */
u32 speedstep_info[4]; /* 0x060 */
struct ist_info ist_info; /* 0x060 */
u8 _pad3[16]; /* 0x070 */
u8 hd0_info[16]; /* obsolete! */ /* 0x080 */
u8 hd1_info[16]; /* obsolete! */ /* 0x090 */
Expand Down
10 changes: 6 additions & 4 deletions include/asm-i386/ist.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,13 @@

#ifdef __KERNEL__

#include <linux/types.h>

struct ist_info {
unsigned long signature;
unsigned long command;
unsigned long event;
unsigned long perf_level;
u32 signature;
u32 command;
u32 event;
u32 perf_level;
};

extern struct ist_info ist_info;
Expand Down
1 change: 1 addition & 0 deletions include/asm-x86_64/ist.h
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include <asm-i386/ist.h>

0 comments on commit 238b706

Please sign in to comment.