mirror of
https://review.coreboot.org/flashrom.git
synced 2025-07-02 06:23:18 +02:00
Split internal.c into internal.c and hwaccess.c
Linking in support for the internal programmer doesn't make sense if you only need hardware (ioport, memory) access. Note: This patch was created by "svn cp internal.c hwaccess.c" and then removing stuff from both files. That's why you can't apply the patch as-is before running the svn cp. Corresponding to flashrom svn r898. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Sean Nelson <audiohacked@gmail.com>
This commit is contained in:
56
internal.c
56
internal.c
@ -27,10 +27,6 @@
|
||||
#include <errno.h>
|
||||
#include "flash.h"
|
||||
|
||||
#if defined(__FreeBSD__) || defined(__DragonFly__)
|
||||
int io_fd;
|
||||
#endif
|
||||
|
||||
#if NEED_PCI == 1
|
||||
struct pci_dev *pci_dev_find_filter(struct pci_filter filter)
|
||||
{
|
||||
@ -102,28 +98,6 @@ struct pci_dev *pci_card_find(uint16_t vendor, uint16_t device,
|
||||
}
|
||||
#endif
|
||||
|
||||
void get_io_perms(void)
|
||||
{
|
||||
#if defined (__sun) && (defined(__i386) || defined(__amd64))
|
||||
if (sysi86(SI86V86, V86SC_IOPL, PS_IOPL) != 0) {
|
||||
#elif defined(__FreeBSD__) || defined (__DragonFly__)
|
||||
if ((io_fd = open("/dev/io", O_RDWR)) < 0) {
|
||||
#else
|
||||
if (iopl(3) != 0) {
|
||||
#endif
|
||||
fprintf(stderr, "ERROR: Could not get I/O privileges (%s).\n"
|
||||
"You need to be root.\n", strerror(errno));
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
void release_io_perms(void)
|
||||
{
|
||||
#if defined(__FreeBSD__) || defined(__DragonFly__)
|
||||
close(io_fd);
|
||||
#endif
|
||||
}
|
||||
|
||||
#if INTERNAL_SUPPORT == 1
|
||||
struct superio superio = {};
|
||||
|
||||
@ -218,33 +192,3 @@ void internal_chip_readn(uint8_t *buf, const chipaddr addr, size_t len)
|
||||
memcpy(buf, (void *)addr, len);
|
||||
return;
|
||||
}
|
||||
|
||||
void mmio_writeb(uint8_t val, void *addr)
|
||||
{
|
||||
*(volatile uint8_t *) addr = val;
|
||||
}
|
||||
|
||||
void mmio_writew(uint16_t val, void *addr)
|
||||
{
|
||||
*(volatile uint16_t *) addr = val;
|
||||
}
|
||||
|
||||
void mmio_writel(uint32_t val, void *addr)
|
||||
{
|
||||
*(volatile uint32_t *) addr = val;
|
||||
}
|
||||
|
||||
uint8_t mmio_readb(void *addr)
|
||||
{
|
||||
return *(volatile uint8_t *) addr;
|
||||
}
|
||||
|
||||
uint16_t mmio_readw(void *addr)
|
||||
{
|
||||
return *(volatile uint16_t *) addr;
|
||||
}
|
||||
|
||||
uint32_t mmio_readl(void *addr)
|
||||
{
|
||||
return *(volatile uint32_t *) addr;
|
||||
}
|
||||
|
Reference in New Issue
Block a user