From fcde9e72e10d69d6fe78a4a89cb395d4208a17de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Colin=20G=C3=BCnther?= Date: Sat, 23 Oct 2010 20:25:17 +0000 Subject: [PATCH] * Add a function needed by the ralink 2860 driver. * Fix a compiler warning about missing braces. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39089 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../freebsd_network/compat/machine/bus.h | 22 +++++++++++++++++++ .../freebsd_network/compat/sys/haiku-module.h | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/libs/compat/freebsd_network/compat/machine/bus.h b/src/libs/compat/freebsd_network/compat/machine/bus.h index c3c73f3089..10f549f3c3 100644 --- a/src/libs/compat/freebsd_network/compat/machine/bus.h +++ b/src/libs/compat/freebsd_network/compat/machine/bus.h @@ -145,6 +145,28 @@ void bus_space_write_4(bus_space_tag_t tag, bus_space_handle_t handle, bus_size_t offset, uint32_t value); +static inline void +bus_space_read_region_1(bus_space_tag_t tag, bus_space_handle_t bsh, + bus_size_t offset, u_int8_t *addr, size_t count) +{ + if (tag == I386_BUS_SPACE_IO) { + int _port_ = bsh + offset; + __asm __volatile(" \n\ + cld \n\ + 1: inb %w2,%%al \n\ + stosb \n\ + incl %2 \n\ + loop 1b" : + "=D" (addr), "=c" (count), "=d" (_port_): + "0" (addr), "1" (count), "2" (_port_) : + "%eax", "memory", "cc"); + } else { + void* _port_ = (void*) (bsh + offset); + memcpy(addr, _port_, count); + } +} + + static inline void bus_space_read_region_4(bus_space_tag_t tag, bus_space_handle_t bsh, bus_size_t offset, u_int32_t *addr, size_t count) diff --git a/src/libs/compat/freebsd_network/compat/sys/haiku-module.h b/src/libs/compat/freebsd_network/compat/sys/haiku-module.h index 7eab417a96..aaf4c9fc2e 100644 --- a/src/libs/compat/freebsd_network/compat/sys/haiku-module.h +++ b/src/libs/compat/freebsd_network/compat/sys/haiku-module.h @@ -197,7 +197,7 @@ extern const char* __haiku_firmware_name_map[][2]; #define NO_HAIKU_FIRMWARE_NAME_MAP() \ const uint __haiku_firmware_parts_count = 0; \ - const char* __haiku_firmware_name_map[0][2] = {NULL} + const char* __haiku_firmware_name_map[0][2] ={{NULL}} /* #pragma mark - synchronization */