From: Osamu Tomita <tomita@cinet.co.jp>
To: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: [PATCHSET] PC-9800 sub-arch (4/29) apm
Date: Sun, 19 Jan 2003 15:36:02 +0900 [thread overview]
Message-ID: <20030119063602.GC2965@yuzuki.cinet.co.jp> (raw)
In-Reply-To: <20030119051043.GA2662@yuzuki.cinet.co.jp>
This is patchset to support NEC PC-9800 subarchitecture
against 2.5.59 (4/29).
APM support for PC98. Including PC98's BIOS bug fix.
diff -Nru linux/arch/i386/kernel/apm.c linux98/arch/i386/kernel/apm.c
--- linux/arch/i386/kernel/apm.c 2003-01-09 13:03:50.000000000 +0900
+++ linux98/arch/i386/kernel/apm.c 2003-01-10 10:06:15.000000000 +0900
@@ -227,6 +227,8 @@
#include <linux/sysrq.h>
+#include "io_ports.h"
+
extern rwlock_t xtime_lock;
extern spinlock_t i8253_lock;
extern unsigned long get_cmos_time(void);
@@ -623,6 +625,9 @@
__asm__ __volatile__(APM_DO_ZERO_SEGS
"pushl %%edi\n\t"
"pushl %%ebp\n\t"
+#ifdef CONFIG_X86_PC9800
+ "pushfl\n\t"
+#endif
"lcall *%%cs:apm_bios_entry\n\t"
"setc %%al\n\t"
"popl %%ebp\n\t"
@@ -684,6 +689,9 @@
__asm__ __volatile__(APM_DO_ZERO_SEGS
"pushl %%edi\n\t"
"pushl %%ebp\n\t"
+#ifdef CONFIG_X86_PC9800
+ "pushfl\n\t"
+#endif
"lcall *%%cs:apm_bios_entry\n\t"
"setc %%bl\n\t"
"popl %%ebp\n\t"
@@ -724,7 +732,7 @@
if (apm_bios_call_simple(APM_FUNC_VERSION, 0, *val, &eax))
return (eax >> 8) & 0xff;
- *val = eax;
+ *val = pc98 ? ((eax & 0xff00) | ((eax & 0x00f0) >> 4)) : eax;
return APM_SUCCESS;
}
@@ -1237,11 +1245,11 @@
{
#ifdef INIT_TIMER_AFTER_SUSPEND
/* set the clock to 100 Hz */
- outb_p(0x34,0x43); /* binary, mode 2, LSB/MSB, ch 0 */
+ outb_p(0x34, PIT_MODE); /* binary, mode 2, LSB/MSB, ch 0 */
udelay(10);
- outb_p(LATCH & 0xff , 0x40); /* LSB */
+ outb_p(LATCH & 0xff, PIT_CH0); /* LSB */
udelay(10);
- outb(LATCH >> 8 , 0x40); /* MSB */
+ outb(LATCH >> 8, PIT_CH0); /* MSB */
udelay(10);
#endif
}
diff -Nru linux/include/linux/apm_bios.h linux98/include/linux/apm_bios.h
--- linux/include/linux/apm_bios.h 2003-01-02 12:22:18.000000000 +0900
+++ linux98/include/linux/apm_bios.h 2003-01-04 13:20:28.000000000 +0900
@@ -20,6 +20,7 @@
typedef unsigned short apm_eventinfo_t;
#ifdef __KERNEL__
+#include <linux/config.h>
#define APM_CS (GDT_ENTRY_APMBIOS_BASE * 8)
#define APM_CS_16 (APM_CS + 8)
@@ -60,6 +61,7 @@
/*
* The APM function codes
*/
+#ifndef CONFIG_X86_PC9800
#define APM_FUNC_INST_CHECK 0x5300
#define APM_FUNC_REAL_CONN 0x5301
#define APM_FUNC_16BIT_CONN 0x5302
@@ -80,6 +82,28 @@
#define APM_FUNC_RESUME_TIMER 0x5311
#define APM_FUNC_RESUME_ON_RING 0x5312
#define APM_FUNC_TIMER 0x5313
+#else
+#define APM_FUNC_INST_CHECK 0x9a00
+#define APM_FUNC_REAL_CONN 0x9a01
+#define APM_FUNC_16BIT_CONN 0x9a02
+#define APM_FUNC_32BIT_CONN 0x9a03
+#define APM_FUNC_DISCONN 0x9a04
+#define APM_FUNC_IDLE 0x9a05
+#define APM_FUNC_BUSY 0x9a06
+#define APM_FUNC_SET_STATE 0x9a07
+#define APM_FUNC_ENABLE_PM 0x9a08
+#define APM_FUNC_RESTORE_BIOS 0x9a09
+#define APM_FUNC_GET_STATUS 0x9a3a
+#define APM_FUNC_GET_EVENT 0x9a0b
+#define APM_FUNC_GET_STATE 0x9a0c
+#define APM_FUNC_ENABLE_DEV_PM 0x9a0d
+#define APM_FUNC_VERSION 0x9a3e
+#define APM_FUNC_ENGAGE_PM 0x9a3f
+#define APM_FUNC_GET_CAP 0x9a10
+#define APM_FUNC_RESUME_TIMER 0x9a11
+#define APM_FUNC_RESUME_ON_RING 0x9a12
+#define APM_FUNC_TIMER 0x9a13
+#endif
/*
* Function code for APM_FUNC_RESUME_TIMER
next prev parent reply other threads:[~2003-01-19 6:27 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-01-19 5:10 [PATCHSET] PC-9800 sub-arch (0/29) summary Osamu Tomita
2003-01-19 6:32 ` [PATCHSET] PC-9800 sub-arch (2/29) ac-update Osamu Tomita
2003-01-19 6:34 ` [PATCHSET] PC-9800 sub-arch (3/29) alsa Osamu Tomita
[not found] ` <s5hof6a4vz3.wl@alsa2.suse.de>
2003-01-21 11:37 ` Osamu Tomita
2003-01-21 11:41 ` Takashi Iwai
2003-01-19 6:36 ` Osamu Tomita [this message]
2003-01-19 6:37 ` [PATCHSET] PC-9800 sub-arch (5/29) core#1 Osamu Tomita
2003-01-19 6:37 ` [PATCHSET] PC-9800 sub-arch (6/29) ac-update Osamu Tomita
2003-01-19 6:38 ` [PATCHSET] PC-9800 sub-arch (7/29) console Osamu Tomita
2003-01-19 6:40 ` [PATCHSET] PC-9800 sub-arch (8/29) network cards Osamu Tomita
2003-01-19 6:42 ` [PATCHSET] PC-9800 sub-arch (9/29) ac-update Osamu Tomita
2003-01-19 6:44 ` [PATCHSET] PC-9800 sub-arch (10/29) fs, patition table Osamu Tomita
2003-01-19 6:45 ` [PATCHSET] PC-9800 sub-arch (11/29) ac-update Osamu Tomita
2003-01-19 6:46 ` [PATCHSET] PC-9800 sub-arch (12/29) ac-update Osamu Tomita
2003-01-19 6:47 ` [PATCHSET] PC-9800 sub-arch (13/29) IDE Osamu Tomita
2003-01-19 6:48 ` [PATCHSET] PC-9800 sub-arch (14/29) core#2 Osamu Tomita
2003-01-19 6:49 ` [PATCHSET] PC-9800 sub-arch (15/29) ac-update Osamu Tomita
2003-01-19 6:50 ` [PATCHSET] PC-9800 sub-arch (16/29) input Osamu Tomita
2003-01-19 6:51 ` [PATCHSET] PC-9800 sub-arch (17/29) kernel Osamu Tomita
2003-01-19 6:51 ` [PATCHSET] PC-9800 sub-arch (18/29) ac-update Osamu Tomita
2003-01-19 6:52 ` [PATCHSET] PC-9800 sub-arch (19/29) ac-update Osamu Tomita
2003-01-19 6:53 ` [PATCHSET] PC-9800 sub-arch (20/29) parport Osamu Tomita
2003-01-19 6:54 ` [PATCHSET] PC-9800 sub-arch (21/29) ac-update Osamu Tomita
2003-01-19 6:55 ` [PATCHSET] PC-9800 sub-arch (22/29) PCI Osamu Tomita
2003-01-19 6:56 ` [PATCHSET] PC-9800 sub-arch (23/29) PCMCIA Osamu Tomita
2003-01-19 6:57 ` [PATCHSET] PC-9800 sub-arch (24/29) PNP Osamu Tomita
2003-01-19 6:58 ` [PATCHSET] PC-9800 sub-arch (25/29) SCSI Osamu Tomita
2003-01-19 6:59 ` [PATCHSET] PC-9800 sub-arch (26/29) ac-update Osamu Tomita
2003-01-19 6:59 ` [PATCHSET] PC-9800 sub-arch (27/29) serial Osamu Tomita
2003-01-19 7:00 ` [PATCHSET] PC-9800 sub-arch (28/29) SMP Osamu Tomita
2003-01-19 7:02 ` [PATCHSET] PC-9800 sub-arch (29/29) ac-update Osamu Tomita
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20030119063602.GC2965@yuzuki.cinet.co.jp \
--to=tomita@cinet.co.jp \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox