mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-26 06:32:34 +02:00
Enable serprog on Windows
Sockets are not ported (yet). Tested on Windows 7 with my Atmega32U2 serprog implementation. http://paste.flashrom.org/view.php?id=1566 Corresponding to flashrom svn r1665. Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> Signed-off-by: Idwer Vollering <vidwer@gmail.com> Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
This commit is contained in:
parent
f966cc4810
commit
52b6e9dc54
8
Makefile
8
Makefile
@ -143,12 +143,6 @@ FLASHROM_CFLAGS += -Dffs=__builtin_ffs
|
||||
# libusb-win32/libftdi stuff is usually installed in /usr/local.
|
||||
CPPFLAGS += -I/usr/local/include
|
||||
LDFLAGS += -L/usr/local/lib
|
||||
# Serprog is not supported under Windows/MinGW (missing sockets support).
|
||||
ifeq ($(CONFIG_SERPROG), yes)
|
||||
UNSUPPORTED_FEATURES += CONFIG_SERPROG=yes
|
||||
else
|
||||
override CONFIG_SERPROG = no
|
||||
endif
|
||||
# For now we disable all PCI-based programmers on Windows/MinGW (no libpci).
|
||||
ifeq ($(CONFIG_INTERNAL), yes)
|
||||
UNSUPPORTED_FEATURES += CONFIG_INTERNAL=yes
|
||||
@ -334,7 +328,7 @@ SVNDEF := -D'FLASHROM_VERSION="$(VERSION)"'
|
||||
# Always enable internal/onboard support for now.
|
||||
CONFIG_INTERNAL ?= yes
|
||||
|
||||
# Always enable serprog for now. Needs to be disabled on Windows.
|
||||
# Always enable serprog for now.
|
||||
CONFIG_SERPROG ?= yes
|
||||
|
||||
# RayeR SPIPGM hardware support
|
||||
|
18
serprog.c
18
serprog.c
@ -20,21 +20,23 @@
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#ifndef _WIN32 /* stuff (presumably) needed for sockets only */
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <strings.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
#include <fcntl.h>
|
||||
#include <sys/socket.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/tcp.h>
|
||||
#include <netdb.h>
|
||||
#include <sys/stat.h>
|
||||
#include <errno.h>
|
||||
#include <inttypes.h>
|
||||
#endif
|
||||
#ifdef _WIN32
|
||||
#include <conio.h>
|
||||
#else
|
||||
#include <termios.h>
|
||||
#endif
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include "flash.h"
|
||||
#include "programmer.h"
|
||||
#include "chipdrivers.h"
|
||||
@ -81,6 +83,7 @@ static int sp_opbuf_usage = 0;
|
||||
whether the command is supported before doing it */
|
||||
static int sp_check_avail_automatic = 0;
|
||||
|
||||
#ifndef WIN32
|
||||
static int sp_opensocket(char *ip, unsigned int port)
|
||||
{
|
||||
int flag = 1;
|
||||
@ -114,6 +117,7 @@ static int sp_opensocket(char *ip, unsigned int port)
|
||||
setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, &flag, sizeof(int));
|
||||
return sock;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Synchronize: a bit tricky algorithm that tries to (and in my tests has *
|
||||
* always succeeded in) bring the serial protocol to known waiting-for- *
|
||||
@ -351,6 +355,7 @@ int serprog_init(void)
|
||||
}
|
||||
free(device);
|
||||
|
||||
#ifndef _WIN32
|
||||
device = extract_programmer_param("ip");
|
||||
if (have_device && device) {
|
||||
msg_perr("Error: Both host and device specified.\n"
|
||||
@ -394,6 +399,7 @@ int serprog_init(void)
|
||||
"flashrom -p serprog:ip=ipaddr:port\n");
|
||||
return 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (register_shutdown(serprog_shutdown, NULL))
|
||||
return 1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user