diff options
| -rw-r--r-- | release/sysinstall/pccard.c | 164 | ||||
| -rw-r--r-- | release/texts/PCCARD.TXT | 13 | ||||
| -rw-r--r-- | share/syscons/keymaps/be.iso.acc.kbd | 138 |
3 files changed, 315 insertions, 0 deletions
diff --git a/release/sysinstall/pccard.c b/release/sysinstall/pccard.c new file mode 100644 index 000000000000..48cc1ac87e1d --- /dev/null +++ b/release/sysinstall/pccard.c @@ -0,0 +1,164 @@ +/* + * PC-card support for sysinstall + * + * $Id: pccard.c,v 1.4 1999/07/04 15:54:14 hosokawa Exp $ + * + * Copyright (c) 1997-1999 + * Tatsumi Hosokawa <hosokawa@jp.FreeBSD.org>. All rights reserved. + * + * This software may be used, modified, copied, and distributed, in + * both source and binary form provided that the above copyright and + * these terms are retained. Under no circumstances is the author + * responsible for the proper functioning of this software, nor does + * the author assume any responsibility for damages incurred with its + * use. + */ + +#include "sysinstall.h" +#include "pccard_conf.h" +#include <sys/fcntl.h> +#include <sys/time.h> +#include <pccard/cardinfo.h> + +#ifdef PCCARD + +int pccard_mode = 0; + +DMenu MenuPCICMem = { + DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS, + "Please select free address area used by PC-card controller", + "PC-card controller uses memory area to get card information.\n" + "Please specify an address that is not used by other devices.\n" + "If you're uncertain of detailed specification of your hardware,\n" + "leave it untouched (default == 0xd0000).", + "Press F1 for more HELP", + "pccard", + { { "Default", "I/O address 0xd0000 - 0xd3fff", + NULL, dmenuSetVariable, NULL, "_pcicmem=0"}, + { "D4", "I/O address 0xd4000 - 0xd7fff", + NULL, dmenuSetVariable, NULL, "_pcicmem=1"}, + { "D8", "I/O address 0xd8000 - 0xdbfff", + NULL, dmenuSetVariable, NULL, "_pcicmem=2"}, + { "DC", "I/O address 0xdc000 - 0xdffff", + NULL, dmenuSetVariable, NULL, "_pcicmem=3"}, + { NULL } }, +}; + +DMenu MenuCardIRQ = { + DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS, + "Please select IRQs that can be used by PC-cards", + "Please specify an IRQs that CANNOT be used by PC-card.\n" + "For example, if you have a sound card that can't be probed by\n" + "this installation floppy and it uses IRQ 10, you have to \n" + "choose \"Option 1\" or \"Option 2\" at this menu.\n", + "Press F1 for more HELP", + "pccard", + { { "Default", "IRQ 10, 11", + NULL, dmenuSetVariable, NULL, "_cardirq=0"}, + { "Option 1", "IRQ 5, 11 (ex. soundcard on IRQ 10)", + NULL, dmenuSetVariable, NULL, "_cardirq=1"}, + { "Option 2", "IRQ 11 (ex. something on IRQ 5 and 10)", + NULL, dmenuSetVariable, NULL, "_cardirq=2"}, + { NULL } }, +}; + +void +pccardInitialize(void) +{ + int fd; + int t; + int pcic_mem = 0xd0000; + char card_device[16]; + char *card_irq = ""; + char *spcic_mem; + char *scard_irq; + char pccardd_flags[128]; + char pccardd_cmd[256]; + + pccard_mode = 1; + + if (!RunningAsInit && !Fake) { + /* It's not my job... */ + return; + } + + dmenuOpenSimple(&MenuPCICMem, FALSE); + spcic_mem = variable_get("_pcicmem"); + dmenuOpenSimple(&MenuCardIRQ, FALSE); + scard_irq = variable_get("_cardirq"); + + sscanf(spcic_mem, "%d", &t); + switch (t) { + case 0: + pcic_mem = 0xd0000; + variable_set2("pccard_mem", "DEFAULT", 1); + break; + case 1: + pcic_mem = 0xd4000; + variable_set2("pccard_mem", "0xd4000", 1); + break; + case 2: + pcic_mem = 0xd8000; + variable_set2("pccard_mem", "0xd8000", 1); + break; + case 3: + pcic_mem = 0xdc000; + variable_set2("pccard_mem", "0xdc000", 1); + break; + } + + sscanf(scard_irq, "%d", &t); + + switch (t) { + case 0: + card_irq = "-i 10 -i 11"; + break; + case 1: + card_irq = "-i 5 -i 11"; + break; + case 2: + card_irq = "-i 11"; + break; + } + + sprintf(card_device, CARD_DEVICE, 0); + + dialog_clear(); + msgConfirm("Now starts initializing PC-card controller and cards.\n" + "If you've executed this installer from PC-card floppy\n" + "drive, this is the last chance to replace it with\n" + "installation media (PC-card Ethernet, CDROM, etc.).\n" + "Please insert installation media and press [Enter].\n" + "If you've not plugged the PC-card installation media\n" + "yet, please plug it now and press [Enter].\n" + "Otherwise, just press [Enter] to proceed."); + + dialog_clear(); + msgNotify("Initializing PC-card controller...."); + + if (!Fake) { + if ((fd = open(card_device, O_RDWR)) < 1) { + msgNotify("Can't open PC-card controller %s.\n", + card_device); + return; + } + + if (ioctl(fd, PIOCRWMEM, &pcic_mem) < 0){ + msgNotify("ioctl %s failed.\n", card_device); + return; + } + } + + strcpy(pccardd_cmd, "/stand/pccardd "); + strcat(pccardd_cmd, card_irq); + strcat(pccardd_cmd, " -z"); + + strcpy(pccardd_flags, card_irq); + variable_set2("pccardd_flags", card_irq, 1); + + vsystem(pccardd_cmd); +} + +#endif /* PCCARD */ + + diff --git a/release/texts/PCCARD.TXT b/release/texts/PCCARD.TXT new file mode 100644 index 000000000000..f521a5c68d91 --- /dev/null +++ b/release/texts/PCCARD.TXT @@ -0,0 +1,13 @@ +PC-card Installation Floppy (experimental) + +Installation floppy in this directory can enable PC-card devices +(currently only support Ethernet). + +Currently, it was tested with following laptops and cards. + +-------------------------------------------------------------------- +Toshiba Libretto 1000 (PCIC Memory: default, IRQ: 10, 11) + IBM CreditCard Ethernet II +-------------------------------------------------------------------- + +(please send your result to <hosokawa@freebsd.org>) diff --git a/share/syscons/keymaps/be.iso.acc.kbd b/share/syscons/keymaps/be.iso.acc.kbd new file mode 100644 index 000000000000..e4000edfbe94 --- /dev/null +++ b/share/syscons/keymaps/be.iso.acc.kbd @@ -0,0 +1,138 @@ +# alt +# scan cntrl alt alt cntrl lock +# code base shift cntrl shift alt shift cntrl shift state +# ------------------------------------------------------------------ + 000 nop nop nop nop nop nop nop nop O + 001 esc esc esc esc esc esc debug esc O + 002 '&' '1' nop nop '|' '|' nop nop O + 003 233 '2' nul nul '@' '@' nul nul O + 004 '"' '3' nop nop '#' '#' nop nop O + 005 ''' '4' nop nop ''' '4' nop nop O + 006 '(' '5' nop nop '(' '5' nop nop O + 007 167 '6' rs rs '^' '^' rs rs O + 008 232 '7' nop nop 232 '7' nop nop O + 009 '!' '8' nop nop '!' '8' nop nop O + 010 231 '9' nop nop '{' '{' nop nop O + 011 224 '0' nop nop '}' '}' nop nop O + 012 ')' 176 nop nop ')' 176 nop nop O + 013 '-' '_' us us '-' '_' us us O + 014 bs bs del del bs bs del del O + 015 ht btab nop nop ht btab nop nop O + 016 'a' 'A' soh soh 'a' 'A' soh soh C + 017 'z' 'Z' sub sub 'z' 'Z' sub sub C + 018 'e' 'E' enq enq 'e' 'E' enq enq C + 019 'r' 'R' dc2 dc2 'r' 'R' dc2 dc2 C + 020 't' 'T' dc4 dc4 't' 'T' dc4 dc4 C + 021 'y' 'Y' em em 'y' 'Y' em em C + 022 'u' 'U' nak nak 'u' 'U' nak nak C + 023 'i' 'I' ht ht 'i' 'I' ht ht C + 024 'o' 'O' si si 'o' 'O' si si C + 025 'p' 'P' dle dle 'p' 'P' dle dle C + 026 dcir duml esc esc '[' '[' esc esc O + 027 '$' '*' gs gs ']' ']' gs gs O + 028 cr cr nl nl cr cr nl nl O + 029 lctrl lctrl lctrl lctrl lctrl lctrl lctrl lctrl O + 030 'q' 'Q' dc1 dc1 'q' 'Q' dc1 dc1 C + 031 's' 'S' dc3 dc3 's' 'S' dc3 dc3 C + 032 'd' 'D' eot eot 'd' 'D' eot eot C + 033 'f' 'F' ack ack 'f' 'F' ack ack C + 034 'g' 'G' bel bel 'g' 'G' bel bel C + 035 'h' 'H' bs bs 'h' 'H' bs bs C + 036 'j' 'J' nl nl 'j' 'J' nl nl C + 037 'k' 'K' vt vt 'k' 'K' vt vt C + 038 'l' 'L' ff ff 'l' 'L' ff ff C + 039 'm' 'M' cr cr 'm' 'M' cr cr O + 040 249 '%' nop nop dacu dacu nop nop O + 041 178 179 nop nop 178 179 nop nop O + 042 lshift lshift lshift lshift lshift lshift lshift lshift O + 043 181 163 nop nop dgra dgra nop nop O + 044 'w' 'W' etb etb 'w' 'W' etb etb C + 045 'x' 'X' can can 'x' 'X' can can C + 046 'c' 'C' etx etx 'c' 'C' etx etx C + 047 'v' 'V' syn syn 'v' 'V' syn syn C + 048 'b' 'B' stx stx 'b' 'B' stx stx C + 049 'n' 'N' so so 'n' 'N' so so C + 050 ',' '?' nop nop ',' '?' nop nop C + 051 ';' '.' nop nop ';' '.' nop nop O + 052 ':' '/' nop nop ':' '/' nop nop O + 053 '=' '+' nop nop dtil dtil nop nop O + 054 rshift rshift rshift rshift rshift rshift rshift rshift O + 055 '*' '*' '*' '*' '*' '*' '*' '*' O + 056 lalt lalt lalt lalt lalt lalt lalt lalt O + 057 ' ' ' ' nul ' ' ' ' ' ' susp ' ' O + 058 clock clock clock clock clock clock clock clock O + 059 fkey01 fkey13 fkey25 fkey37 scr01 scr11 scr01 scr11 O + 060 fkey02 fkey14 fkey26 fkey38 scr02 scr12 scr02 scr12 O + 061 fkey03 fkey15 fkey27 fkey39 scr03 scr13 scr03 scr13 O + 062 fkey04 fkey16 fkey28 fkey40 scr04 scr14 scr04 scr14 O + 063 fkey05 fkey17 fkey29 fkey41 scr05 scr15 scr05 scr15 O + 064 fkey06 fkey18 fkey30 fkey42 scr06 scr16 scr06 scr16 O + 065 fkey07 fkey19 fkey31 fkey43 scr07 scr07 scr07 scr07 O + 066 fkey08 fkey20 fkey32 fkey44 scr08 scr08 scr08 scr08 O + 067 fkey09 fkey21 fkey33 fkey45 scr09 scr09 scr09 scr09 O + 068 fkey10 fkey22 fkey34 fkey46 scr10 scr10 scr10 scr10 O + 069 nlock nlock nlock nlock nlock nlock nlock nlock O + 070 slock slock slock slock slock slock slock slock O + 071 fkey49 '7' '7' '7' '7' '7' '7' '7' N + 072 fkey50 '8' '8' '8' '8' '8' '8' '8' N + 073 fkey51 '9' '9' '9' '9' '9' '9' '9' N + 074 fkey52 '-' '-' '-' '-' '-' '-' '-' N + 075 fkey53 '4' '4' '4' '4' '4' '4' '4' N + 076 fkey54 '5' '5' '5' '5' '5' '5' '5' N + 077 fkey55 '6' '6' '6' '6' '6' '6' '6' N + 078 fkey56 '+' '+' '+' '+' '+' '+' '+' N + 079 fkey57 '1' '1' '1' '1' '1' '1' '1' N + 080 fkey58 '2' '2' '2' '2' '2' '2' '2' N + 081 fkey59 '3' '3' '3' '3' '3' '3' '3' N + 082 fkey60 '0' '0' '0' '0' '0' '0' '0' N + 083 del '.' '.' '.' '.' '.' boot boot N + 084 nop nop nop nop nop nop nop nop O + 085 nop nop nop nop nop nop nop nop O + 086 '<' '>' fs fs '\' '\' fs fs O + 087 fkey11 fkey23 fkey35 fkey47 scr11 scr11 scr11 scr11 O + 088 fkey12 fkey24 fkey36 fkey48 scr12 scr12 scr12 scr12 O + 089 cr cr nl nl cr cr nl nl O + 090 rctrl rctrl rctrl rctrl rctrl rctrl rctrl rctrl O + 091 '/' '/' '/' '/' '/' '/' '/' '/' N + 092 nscr nscr debug debug nop nop nop nop O + 093 ralt ralt ralt ralt ralt ralt ralt ralt O + 094 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 O + 095 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 O + 096 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 O + 097 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 O + 098 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 O + 099 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 O + 100 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 O + 101 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 O + 102 fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 O + 103 fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot fkey61 O + 104 slock saver slock saver susp nop susp nop O + 105 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 O + 106 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 O + 107 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 O + 108 nop nop nop nop nop nop nop nop O + + dgra '`' ( 'a' 224 ) ( 'A' 192 ) ( 'e' 232 ) ( 'E' 200 ) + ( 'i' 236 ) ( 'I' 204 ) ( 'o' 242 ) ( 'O' 210 ) + ( 'u' 249 ) ( 'U' 217 ) + dacu 180 ( 'a' 225 ) ( 'A' 193 ) ( 'e' 233 ) ( 'E' 201 ) + ( 'i' 237 ) ( 'I' 205 ) ( 'o' 243 ) ( 'O' 211 ) + ( 'u' 250 ) ( 'U' 218 ) ( 'y' 253 ) ( 'Y' 221 ) + dcir '^' ( 'a' 226 ) ( 'A' 194 ) ( 'e' 234 ) ( 'E' 202 ) + ( 'i' 238 ) ( 'I' 206 ) ( 'o' 244 ) ( 'O' 212 ) + ( 'u' 251 ) ( 'U' 219 ) + dtil '~' ( 'a' 227 ) ( 'A' 195 ) ( 'n' 241 ) ( 'N' 209 ) + ( 'o' 245 ) ( 'O' 213 ) + dmac 000 + dbre 000 + ddot 000 + duml 168 ( 'a' 228 ) ( 'A' 196 ) ( 'e' 235 ) ( 'E' 203 ) + ( 'i' 239 ) ( 'I' 207 ) ( 'o' 246 ) ( 'O' 214 ) + ( 'u' 252 ) ( 'U' 220 ) ( 'y' 255 ) + dsla 000 + drin 176 ( 'a' 229 ) ( 'A' 197 ) + dced 184 ( 'c' 231 ) ( 'C' 199 ) + dapo 000 + ddac 000 + dogo 000 + dcar 000 |
