URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 5265
[ Назад ]

Исходное сообщение
"Чтение/запись в железный порты (outb() / inb())"

Отправлено TLS , 23-Мрт-06 18:55 
Была у меня прога, которая внаглую запускалась из-под рута и писала в хардварные порты при помощи функция outb() и читала с помощью inb(). Работала один-в-один с описанным здесь примером: http://www.opennet.me/openforum/vsluhforumID9/1386.html#1

Но сейчас аналогичный код работать отказывается. Единственное объяснение, которое вижу - смена версий с FreeBSD 4.9 до 6.0. Это можнт быть причиной? Если да, то чего посоветуете делать?

Спасибо!


Содержание

Сообщения в этом обсуждении
"Чтение/запись в железный порты (outb() / inb())"
Отправлено chip , 24-Мрт-06 14:43 
>Была у меня прога, которая внаглую запускалась из-под рута и писала в
>хардварные порты при помощи функция outb() и читала с помощью inb().
>Работала один-в-один с описанным здесь примером: http://www.opennet.me/openforum/vsluhforumID9/1386.html#1
>
>Но сейчас аналогичный код работать отказывается. Единственное объяснение, которое вижу - смена
>версий с FreeBSD 4.9 до 6.0. Это можнт быть причиной? Если
>да, то чего посоветуете делать?

kldload io

or

device io в конфиг ядра + пересобрать ядро.


"Чтение/запись в железный порты (outb() / inb())"
Отправлено TLS , 03-Апр-06 12:29 

>kldload io

Странно, но при запуске команды (или функции из проги) из-под рута, всё равно выдает Not permitted.


"Чтение/запись в железный порты (outb() / inb())"
Отправлено chip , 03-Апр-06 16:19 
>
>>kldload io
>
>Странно, но при запуске команды (или функции из проги) из-под рута, всё
>равно выдает Not permitted.

kldstat -v в студию
ls -lah /dev/io*


"Чтение/запись в железный порты (outb() / inb())"
Отправлено Forth , 03-Апр-06 20:22 
>kldstat -v в студию
>ls -lah /dev/io*
Да загрузился модуль-то наверняка, только этого мало.
Надо еще в самой программе открыть файл /dev/io, только тогда iopl установится. А вообще и это неправильно - правильно будет пользовать i386_set_ioperm(2).


"Чтение/запись в железный порты (outb() / inb())"
Отправлено chip , 03-Апр-06 23:38 
>>kldstat -v в студию
>>ls -lah /dev/io*
>Да загрузился модуль-то наверняка, только этого мало.
>Надо еще в самой программе открыть файл /dev/io, только тогда iopl установится.

человек берет готовую программу, там уже есть open("/dev/io",..)

>А вообще и это неправильно - правильно будет пользовать i386_set_ioperm(2).

первый deprecated, но _неправильным_ от этого не становится.


"Чтение/запись в железный порты (outb() / inb())"
Отправлено redd , 05-Апр-06 18:09 
Меня тоже это зинтересовало но у меня на freebsd6.0 это вообще не собирается в чем может быть косяк
вот эта прога я скопировал

#include <stdio.h>
#include <fcntl.h>
#include <machine/cpufunc.h>

int main(int argc,char* argv[])
{
int val,port;
int fd;

if(argc<3){fprintf(stderr,"usage: %s port value\n",argv[0]); exit(1);}
if(sscanf(argv[1],"0x%x",&port) && sscanf(argv[2],"0x%x",&val))
{
fd=open("/dev/io",O_RDWR);
if(fd==-1){perror("open");exit(1);}
outb(port,val);
close(fd);
}
else
{fprintf(stderr,"port and value must be in hex format with 0x prefix\n"); exit(1);}

}

компилируем:
# gcc outb.c -o outb
запускаем:
# ./outb 0x3f2 0x10
лампочка дисковода загорелась
# ./outb 0x3f2 0x0
потухла


"Чтение/запись в железный порты (outb() / inb())"
Отправлено redd , 05-Апр-06 18:11 

вывод gcc

#
#
#
# gcc ./outb.c -o ./outb
In file included from ./outb.c:3:
/usr/include/machine/cpufunc.h:64: error: syntax error before "bsfl"
/usr/include/machine/cpufunc.h:64: error: syntax error before "mask"
/usr/include/machine/cpufunc.h: In function `bsfl':
/usr/include/machine/cpufunc.h:66: error: syntax error before "result"
/usr/include/machine/cpufunc.h:68: error: `result' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:68: error: (Each undeclared identifier is reported only once
/usr/include/machine/cpufunc.h:68: error: for each function it appears in.)
/usr/include/machine/cpufunc.h:68: error: `mask' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:73: error: syntax error before "bsrl"
/usr/include/machine/cpufunc.h:73: error: syntax error before "mask"
/usr/include/machine/cpufunc.h: In function `bsrl':
/usr/include/machine/cpufunc.h:75: error: syntax error before "result"
/usr/include/machine/cpufunc.h:77: error: `result' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:77: error: `mask' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:88: error: syntax error before "ax"
/usr/include/machine/cpufunc.h: In function `do_cpuid':
/usr/include/machine/cpufunc.h:91: error: `p' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:92: error: `ax' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:96: error: syntax error before "ax"
/usr/include/machine/cpufunc.h: In function `cpuid_count':
/usr/include/machine/cpufunc.h:99: error: `p' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:100: error: `ax' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:100: error: `cx' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:179: error: syntax error before "inbc"
/usr/include/machine/cpufunc.h:179: error: syntax error before "port"
/usr/include/machine/cpufunc.h: In function `inbc':
/usr/include/machine/cpufunc.h:181: error: syntax error before "data"
/usr/include/machine/cpufunc.h:183: error: `data' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:183: error: `u_short' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:183: error: `port' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:188: error: syntax error before "port"
/usr/include/machine/cpufunc.h: In function `outbc':
/usr/include/machine/cpufunc.h:190: error: `data' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:190: error: `u_short' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:190: error: `port' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:196: error: syntax error before "inbv"
/usr/include/machine/cpufunc.h:196: error: syntax error before "port"
/usr/include/machine/cpufunc.h: In function `inbv':
/usr/include/machine/cpufunc.h:198: error: syntax error before "data"
/usr/include/machine/cpufunc.h:204: error: `data' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:204: error: `port' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:209: error: syntax error before "inl"
/usr/include/machine/cpufunc.h:209: error: syntax error before "port"
/usr/include/machine/cpufunc.h: In function `inl':
/usr/include/machine/cpufunc.h:211: error: syntax error before "data"
/usr/include/machine/cpufunc.h:213: error: `data' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:213: error: `port' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:218: error: syntax error before "port"
/usr/include/machine/cpufunc.h: In function `insb':
/usr/include/machine/cpufunc.h:221: error: `addr' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:221: error: `cnt' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:222: error: `port' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:227: error: syntax error before "port"
/usr/include/machine/cpufunc.h: In function `insw':
/usr/include/machine/cpufunc.h:230: error: `addr' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:230: error: `cnt' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:231: error: `port' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:236: error: syntax error before "port"
/usr/include/machine/cpufunc.h: In function `insl':
/usr/include/machine/cpufunc.h:239: error: `addr' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:239: error: `cnt' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:240: error: `port' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:251: error: syntax error before "inw"
/usr/include/machine/cpufunc.h:251: error: syntax error before "port"
/usr/include/machine/cpufunc.h: In function `inw':
/usr/include/machine/cpufunc.h:253: error: syntax error before "data"
/usr/include/machine/cpufunc.h:255: error: `data' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:255: error: `port' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:260: error: syntax error before "port"
/usr/include/machine/cpufunc.h: In function `outbv':
/usr/include/machine/cpufunc.h:262: error: syntax error before "al"
/usr/include/machine/cpufunc.h:269: error: `al' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:269: error: `data' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:270: error: `port' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:274: error: syntax error before "port"
/usr/include/machine/cpufunc.h: In function `outl':
/usr/include/machine/cpufunc.h:281: error: `data' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:281: error: `port' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:285: error: syntax error before "port"
/usr/include/machine/cpufunc.h: In function `outsb':
/usr/include/machine/cpufunc.h:288: error: `addr' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:288: error: `cnt' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:289: error: `port' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:293: error: syntax error before "port"
/usr/include/machine/cpufunc.h: In function `outsw':
/usr/include/machine/cpufunc.h:296: error: `addr' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:296: error: `cnt' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:297: error: `port' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:301: error: syntax error before "port"
/usr/include/machine/cpufunc.h: In function `outsl':
/usr/include/machine/cpufunc.h:304: error: `addr' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:304: error: `cnt' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:305: error: `port' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:309: error: syntax error before "port"
/usr/include/machine/cpufunc.h: In function `outw':
/usr/include/machine/cpufunc.h:311: error: `data' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:311: error: `port' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:321: error: syntax error before "read_eflags"
/usr/include/machine/cpufunc.h: In function `read_eflags':
/usr/include/machine/cpufunc.h:323: error: syntax error before "ef"
/usr/include/machine/cpufunc.h:325: error: `ef' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:330: error: syntax error before "rdmsr"
/usr/include/machine/cpufunc.h:330: error: syntax error before "msr"
/usr/include/machine/cpufunc.h: In function `rdmsr':
/usr/include/machine/cpufunc.h:332: error: syntax error before "rv"
/usr/include/machine/cpufunc.h:334: error: `rv' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:334: error: `msr' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:339: error: syntax error before "rdpmc"
/usr/include/machine/cpufunc.h:339: error: syntax error before "pmc"
/usr/include/machine/cpufunc.h: In function `rdpmc':
/usr/include/machine/cpufunc.h:341: error: syntax error before "rv"
/usr/include/machine/cpufunc.h:343: error: `rv' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:343: error: `pmc' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:348: error: syntax error before "rdtsc"
/usr/include/machine/cpufunc.h: In function `rdtsc':
/usr/include/machine/cpufunc.h:350: error: syntax error before "rv"
/usr/include/machine/cpufunc.h:352: error: `rv' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:363: error: syntax error before "ef"
/usr/include/machine/cpufunc.h: In function `write_eflags':
/usr/include/machine/cpufunc.h:365: error: `ef' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:369: error: syntax error before "msr"
/usr/include/machine/cpufunc.h: In function `wrmsr':
/usr/include/machine/cpufunc.h:371: error: `newval' undeclared (first use in this function)
/usr/include/machine/cpufunc.h:371: error: `msr' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:375: error: syntax error before "data"
/usr/include/machine/cpufunc.h: In function `load_cr0':
/usr/include/machine/cpufunc.h:378: error: `data' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:382: error: syntax error before "rcr0"
/usr/include/machine/cpufunc.h: In function `rcr0':
/usr/include/machine/cpufunc.h:384: error: syntax error before "data"
/usr/include/machine/cpufunc.h:386: error: `data' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:391: error: syntax error before "rcr2"
/usr/include/machine/cpufunc.h: In function `rcr2':
/usr/include/machine/cpufunc.h:393: error: syntax error before "data"
/usr/include/machine/cpufunc.h:395: error: `data' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:400: error: syntax error before "data"
/usr/include/machine/cpufunc.h: In function `load_cr3':
/usr/include/machine/cpufunc.h:403: error: `data' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:407: error: syntax error before "rcr3"
/usr/include/machine/cpufunc.h: In function `rcr3':
/usr/include/machine/cpufunc.h:409: error: syntax error before "data"
/usr/include/machine/cpufunc.h:411: error: `data' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:416: error: syntax error before "data"
/usr/include/machine/cpufunc.h: In function `load_cr4':
/usr/include/machine/cpufunc.h:418: error: `data' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:422: error: syntax error before "rcr4"
/usr/include/machine/cpufunc.h: In function `rcr4':
/usr/include/machine/cpufunc.h:424: error: syntax error before "data"
/usr/include/machine/cpufunc.h:426: error: `data' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:445: error: syntax error before "addr"
/usr/include/machine/cpufunc.h: In function `invlpg':
/usr/include/machine/cpufunc.h:448: error: `addr' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:452: error: syntax error before "rfs"
/usr/include/machine/cpufunc.h: In function `rfs':
/usr/include/machine/cpufunc.h:454: error: syntax error before "sel"
/usr/include/machine/cpufunc.h:455: error: `sel' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:460: error: syntax error before "rgs"
/usr/include/machine/cpufunc.h: In function `rgs':
/usr/include/machine/cpufunc.h:462: error: syntax error before "sel"
/usr/include/machine/cpufunc.h:463: error: `sel' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:468: error: syntax error before "rss"
/usr/include/machine/cpufunc.h: In function `rss':
/usr/include/machine/cpufunc.h:470: error: syntax error before "sel"
/usr/include/machine/cpufunc.h:471: error: `sel' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:476: error: syntax error before "sel"
/usr/include/machine/cpufunc.h: In function `load_fs':
/usr/include/machine/cpufunc.h:478: error: `sel' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:482: error: syntax error before "sel"
/usr/include/machine/cpufunc.h: In function `load_gs':
/usr/include/machine/cpufunc.h:484: error: `sel' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:494: error: syntax error before "sel"
/usr/include/machine/cpufunc.h: In function `lldt':
/usr/include/machine/cpufunc.h:496: error: `sel' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:500: error: syntax error before "sel"
/usr/include/machine/cpufunc.h: In function `ltr':
/usr/include/machine/cpufunc.h:502: error: `sel' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:506: error: syntax error before "rdr0"
/usr/include/machine/cpufunc.h: In function `rdr0':
/usr/include/machine/cpufunc.h:508: error: syntax error before "data"
/usr/include/machine/cpufunc.h:509: error: `data' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:514: error: syntax error before "dr0"
/usr/include/machine/cpufunc.h: In function `load_dr0':
/usr/include/machine/cpufunc.h:516: error: `dr0' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:520: error: syntax error before "rdr1"
/usr/include/machine/cpufunc.h: In function `rdr1':
/usr/include/machine/cpufunc.h:522: error: syntax error before "data"
/usr/include/machine/cpufunc.h:523: error: `data' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:528: error: syntax error before "dr1"
/usr/include/machine/cpufunc.h: In function `load_dr1':
/usr/include/machine/cpufunc.h:530: error: `dr1' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:534: error: syntax error before "rdr2"
/usr/include/machine/cpufunc.h: In function `rdr2':
/usr/include/machine/cpufunc.h:536: error: syntax error before "data"
/usr/include/machine/cpufunc.h:537: error: `data' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:542: error: syntax error before "dr2"
/usr/include/machine/cpufunc.h: In function `load_dr2':
/usr/include/machine/cpufunc.h:544: error: `dr2' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:548: error: syntax error before "rdr3"
/usr/include/machine/cpufunc.h: In function `rdr3':
/usr/include/machine/cpufunc.h:550: error: syntax error before "data"
/usr/include/machine/cpufunc.h:551: error: `data' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:556: error: syntax error before "dr3"
/usr/include/machine/cpufunc.h: In function `load_dr3':
/usr/include/machine/cpufunc.h:558: error: `dr3' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:562: error: syntax error before "rdr4"
/usr/include/machine/cpufunc.h: In function `rdr4':
/usr/include/machine/cpufunc.h:564: error: syntax error before "data"
/usr/include/machine/cpufunc.h:565: error: `data' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:570: error: syntax error before "dr4"
/usr/include/machine/cpufunc.h: In function `load_dr4':
/usr/include/machine/cpufunc.h:572: error: `dr4' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:576: error: syntax error before "rdr5"
/usr/include/machine/cpufunc.h: In function `rdr5':
/usr/include/machine/cpufunc.h:578: error: syntax error before "data"
/usr/include/machine/cpufunc.h:579: error: `data' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:584: error: syntax error before "dr5"
/usr/include/machine/cpufunc.h: In function `load_dr5':
/usr/include/machine/cpufunc.h:586: error: `dr5' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:590: error: syntax error before "rdr6"
/usr/include/machine/cpufunc.h: In function `rdr6':
/usr/include/machine/cpufunc.h:592: error: syntax error before "data"
/usr/include/machine/cpufunc.h:593: error: `data' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:598: error: syntax error before "dr6"
/usr/include/machine/cpufunc.h: In function `load_dr6':
/usr/include/machine/cpufunc.h:600: error: `dr6' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:604: error: syntax error before "rdr7"
/usr/include/machine/cpufunc.h: In function `rdr7':
/usr/include/machine/cpufunc.h:606: error: syntax error before "data"
/usr/include/machine/cpufunc.h:607: error: `data' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:612: error: syntax error before "dr7"
/usr/include/machine/cpufunc.h: In function `load_dr7':
/usr/include/machine/cpufunc.h:614: error: `dr7' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:618: error: syntax error before "intr_disable"
/usr/include/machine/cpufunc.h: In function `intr_disable':
/usr/include/machine/cpufunc.h:620: error: syntax error before "eflags"
/usr/include/machine/cpufunc.h:622: error: `eflags' undeclared (first use in this function)
/usr/include/machine/cpufunc.h: At top level:
/usr/include/machine/cpufunc.h:628: error: syntax error before "eflags"
/usr/include/machine/cpufunc.h: In function `intr_restore':
/usr/include/machine/cpufunc.h:630: error: `eflags' undeclared (first use in this function)
#                                                    


"Чтение/запись в железный порты (outb() / inb())"
Отправлено chip , 05-Апр-06 18:56 
>Меня тоже это зинтересовало но у меня на freebsd6.0 это вообще не
>собирается в чем может быть косяк
>вот эта прога я скопировал

>#include <stdio.h>
>#include <fcntl.h>

#include <sys/types.h>

>#include <machine/cpufunc.h>


"Чтение/запись в железный порты (outb() / inb())"
Отправлено redd , 05-Апр-06 19:32 
Вот за это спасибо !!!!

Сразу видно спец !!!

Заработало


"Чтение/запись в железный порты (outb() / inb())"
Отправлено vvvua , 06-Апр-06 14:51 
Я немного не так делал. Писал под линух, но вроде в POOSIX стандарте, а, значит, и под фрей запустится.
Есть вызов ioperm. Им нужно установить разрешения чтения/записи в порты.

Вот  про это:
http://unixlib.org.ru/modules.php?name=linux&p=42#AEN47


"Чтение/запись в железный порты (outb() / inb())"
Отправлено chip , 06-Апр-06 19:53 
>Я немного не так делал. Писал под линух, но вроде в POOSIX

В FreeBSD нет ioperm(). Уже говорили: /dev/io || i386_set_ioperm() и баста.