lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0802041121550.16441@fbirervta.pbzchgretzou.qr>
Date:	Mon, 4 Feb 2008 11:29:01 +0100 (CET)
From:	Jan Engelhardt <jengelh@...putergmbh.de>
To:	ohyama_sec@...el-networks.com
cc:	linux-kernel@...r.kernel.org
Subject: Re: [QUESTION] I have a question about making device driver


On Feb 4 2008 18:54, ohyama_sec@...el-networks.com wrote:
>
>I'm writing device driver for parallel port on Linux.

Another one?

>In initial function which is argument of module_init() in my device
>driver, I reserved I/O address region, 0x378-0x37a, with using
>request_region() and regist my charactor device driver calling
>register_chrdev().
>
>After I compile and link it. I insert this module and I can confirm
>that I obtaind the range of I/O address at /proc/ioports. But I
>cannot write data on I/O address line, It means that following check
>program shows "false".

>--- check program ---
>#include <linux/types.h>
>#include <asm/io.h>
>#include <stdio.h>

A userspace program? I thought this was about kernel device drivers.

>int main(void){
>    int base = 0x378;
>    char read, write;
>
>    ioperm(base, 1, 1);
>
>    write = 0xa;
>    outb(write, base);
>    read = inb(base);
>    if((read & 0xf) == write){

Some parallel port chips always return 0 on inb(base), for example
the AMD K6 boards that shipped with VIA Apollo chipsets (1998). On
the other hand, a chipset as old as to carry a i386DX CPU (probably
was all Intel back then) returns the desired 0xA on inb(base).

>        printf("true\n");
>    }else{
>        printf("false\n");    
>    }
>    return 0;
>}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ