[BACK]Return to patch-src_jtag_gw16012_c CVS log [TXT][DIR] Up to [local] / ports / devel / openocd / patches

Annotation of ports/devel/openocd/patches/patch-src_jtag_gw16012_c, Revision 1.1

1.1     ! yason       1: $OpenBSD$
        !             2: --- src/jtag/gw16012.c.orig    Wed May 27 12:38:08 2009
        !             3: +++ src/jtag/gw16012.c Wed May 27 12:50:08 2009
        !             4: @@ -31,7 +31,7 @@
        !             5:
        !             6:  /* system includes */
        !             7:  /*  -ino: 060521-1036 */
        !             8: -#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
        !             9: +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__)
        !            10:
        !            11:  #include <sys/types.h>
        !            12:  #include <machine/sysarch.h>
        !            13: @@ -45,7 +45,7 @@
        !            14:  #include "errno.h"
        !            15:  #endif /* _WIN32 */
        !            16:
        !            17: -#endif /* __FreeBSD__, __FreeBSD_kernel__ */
        !            18: +#endif /* __FreeBSD__, __FreeBSD_kernel__, __OpenBSD__ */
        !            19:
        !            20:  #include <string.h>
        !            21:  #include <stdlib.h>
        !            22: @@ -63,7 +63,7 @@
        !            23:  #include <fcntl.h>
        !            24:  #include <sys/ioctl.h>
        !            25:  #else /* not PARPORT_USE_PPDEV */
        !            26: -#ifndef _WIN32
        !            27: +#if !defined(_WIN32) && !defined(__OpenBSD__)
        !            28:  #include <sys/io.h>
        !            29:  #endif
        !            30:  #endif
        !            31: @@ -129,7 +129,7 @@ void gw16012_data(u8 value)
        !            32:        #if PARPORT_USE_PPDEV == 1
        !            33:                ioctl(device_handle, PPWDATA, &value);
        !            34:        #else
        !            35: -              #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
        !            36: +              #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__)
        !            37:                        outb(gw16012_port, value);
        !            38:                #else
        !            39:                        outb(value, gw16012_port);
        !            40: @@ -150,7 +150,7 @@ void gw16012_control(u8 value)
        !            41:                #if PARPORT_USE_PPDEV == 1
        !            42:                        ioctl(device_handle, PPWCONTROL, &gw16012_control_value);
        !            43:                #else
        !            44: -                      #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
        !            45: +                      #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__)
        !            46:                                outb(gw16012_port + 2, gw16012_control_value);
        !            47:                        #else
        !            48:                                outb(gw16012_control_value, gw16012_port + 2);
        !            49: @@ -469,6 +469,13 @@ int gw16012_init(void)
        !            50:  #endif
        !            51:        u8 status_port;
        !            52:
        !            53: +#ifdef __OpenBSD__
        !            54: +      u_long  iopermtable[32] = {};
        !            55: +
        !            56: +      /* get current i/o permission table */
        !            57: +      i386_get_ioperm(iopermtable);
        !            58: +#endif /* __OpenBSD__ */
        !            59: +
        !            60:  #if PARPORT_USE_PPDEV == 1
        !            61:        if (device_handle>0)
        !            62:        {
        !            63: @@ -530,7 +537,16 @@ int gw16012_init(void)
        !            64:  #if PARPORT_USE_GIVEIO == 1
        !            65:        if (gw16012_get_giveio_access() != 0)
        !            66:  #else /* PARPORT_USE_GIVEIO */
        !            67: +#ifdef __FreeBSD__
        !            68:        if (ioperm(gw16012_port, 3, 1) != 0)
        !            69: +#endif /* __FreeBSD__ */
        !            70: +#ifdef __OpenBSD__
        !            71: +      /* request access to desired i/o port */
        !            72: +      iopermtable[gw16012_port / 32] &= ~(1 << gw16012_port % 32);
        !            73: +      iopermtable[gw16012_port / 32] &= ~(1 << gw16012_port % 32 + 1);
        !            74: +      iopermtable[gw16012_port / 32] &= ~(1 << gw16012_port % 32 + 2);
        !            75: +      if (i386_set_ioperm(iopermtable) != 0)
        !            76: +#endif /* __OpenBSD__ */
        !            77:  #endif /* PARPORT_USE_GIVEIO */
        !            78:        {
        !            79:                LOG_ERROR("missing privileges for direct i/o");
        !            80: @@ -539,7 +555,7 @@ int gw16012_init(void)
        !            81:        LOG_DEBUG("...privileges granted");
        !            82:
        !            83:        /* make sure parallel port is in right mode (clear tristate and interrupt */
        !            84: -#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
        !            85: +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__)
        !            86:        outb(gw16012_port + 2, 0x0);
        !            87:  #else
        !            88:        outb(0x0, gw16012_port + 2);

CVSweb