This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Hoernchen gerrit-no-reply at lists.osmocom.orgHoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/16319 ) Change subject: fix the host/emulation build ...................................................................... fix the host/emulation build Going for __ARM__ to distinguish host and firmware builds is not sufficient here, since we might be building on a ARM host, so there is now a OCTSIMFWBUILD define. Change-Id: Ib07a58b6102b1709f295d08a764c6f118a2d0b9e --- M ccid_common/ccid_slot_fsm.c M ccid_common/iso7816_3.c M ccid_common/iso7816_fsm.c M ccid_host/Makefile M sysmoOCTSIM/gcc/Makefile 5 files changed, 32 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/19/16319/1 diff --git a/ccid_common/ccid_slot_fsm.c b/ccid_common/ccid_slot_fsm.c index 29bffa0..0993cfc 100644 --- a/ccid_common/ccid_slot_fsm.c +++ b/ccid_common/ccid_slot_fsm.c @@ -98,7 +98,11 @@ osmo_fsm_inst_dispatch(ss->fi, ISO7816_E_POWER_UP_IND, NULL); cs->icc_powered = true; card_uart_ctrl(ss->cuart, CUART_CTL_CLOCK, true); +#ifdef OCTSIMFWBUILD delay_us(10000); +#else + usleep(10000); +#endif osmo_fsm_inst_dispatch(ss->fi, ISO7816_E_RESET_REL_IND, NULL); card_uart_ctrl(ss->cuart, CUART_CTL_RST, false); @@ -119,7 +123,9 @@ case ISO7816_E_PPS_DONE_IND: case ISO7816_E_PPS_FAILED_IND: cs->event_data = data; +#ifdef OCTSIMFWBUILD asm volatile("dmb st": : :"memory"); +#endif cs->event = event; break; default: @@ -328,35 +334,38 @@ void *ctx = cs->ci->talloc_ctx; struct iso_fsm_slot *ss = ccid_slot2iso_fsm_slot(cs); struct card_uart *cuart = talloc_zero(ctx, struct card_uart); - char id_buf[16] = "SIM0"; - char devname[] = "foobar"; + char id_buf[3+2+1]; + char devname[2+1]; + char *devnamep = 0; + char *drivername = "asf4"; int rc; LOGPCS(cs, LOGL_DEBUG, "%s\n", __func__); - /* HACK: make this in some way configurable so it works both in the firmware - * and on the host (functionfs) */ -// if (cs->slot_nr == 0) { -// cs->icc_present = true; -// devname = "/dev/ttyUSB5"; -// } - devname[0] = cs->slot_nr +0x30; - devname[1] = 0; - //sprintf(devname, "%d", cs->slot_nr); + snprintf(id_buf, sizeof(id_buf), "SIM%d", cs->slot_nr); +#ifdef OCTSIMFWBUILD + snprintf(devname, sizeof(devname), "%d", cs->slot_nr); + devnamep = devname; +#else + if (cs->slot_nr == 0) { + cs->icc_present = true; + devnamep = "/dev/ttyUSB5"; + } + drivername = "tty"; +#endif if (!cuart) return -ENOMEM; - //snprintf(id_buf, sizeof(id_buf), "SIM%d", cs->slot_nr); - id_buf[3] = cs->slot_nr +0x30; - if (devname) { - rc = card_uart_open(cuart, "asf4", devname); + if (devnamep) { + rc = card_uart_open(cuart, drivername, devnamep); if (rc < 0) { LOGPCS(cs, LOGL_ERROR, "Cannot open UART %s: %d\n", devname, rc); talloc_free(cuart); return rc; } } + ss->fi = iso7816_fsm_alloc(ctx, LOGL_DEBUG, id_buf, cuart, iso_fsm_clot_user_cb, ss); if (!ss->fi) { LOGPCS(cs, LOGL_ERROR, "Cannot allocate ISO FSM\n"); diff --git a/ccid_common/iso7816_3.c b/ccid_common/iso7816_3.c index f7262fb..e4273bd 100644 --- a/ccid_common/iso7816_3.c +++ b/ccid_common/iso7816_3.c @@ -18,7 +18,7 @@ #include <stdint.h> #include <stddef.h> -#include "utils.h" +#include "osmocom/core/utils.h" #include "iso7816_3.h" const uint16_t iso7816_3_fi_table[16] = { diff --git a/ccid_common/iso7816_fsm.c b/ccid_common/iso7816_fsm.c index 412bea7..399c321 100644 --- a/ccid_common/iso7816_fsm.c +++ b/ccid_common/iso7816_fsm.c @@ -1193,7 +1193,7 @@ } } -#include <hal_gpio.h> + static void tpdu_s_tx_hdr_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct osmo_fsm_inst *parent_fi = fi->proc.parent; @@ -1213,7 +1213,9 @@ } - +#if 0 +#include <hal_gpio.h> +#endif static void tpdu_s_procedure_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct tpdu_fsm_priv *tfp = get_tpdu_fsm_priv(fi); diff --git a/ccid_host/Makefile b/ccid_host/Makefile index e9f34cc..7625177 100644 --- a/ccid_host/Makefile +++ b/ccid_host/Makefile @@ -11,6 +11,7 @@ ../ccid_common/ccid_proto.o \ ../ccid_common/ccid_device.o \ ../ccid_common/ccid_slot_fsm.o \ + ../ccid_common/iso7816_3.o \ ../ccid_common/iso7816_fsm.o $(CC) $(CFLAGS) -o $@ $^ $(LIBS) -laio @@ -28,6 +29,7 @@ cuart_driver_tty.o \ utils_ringbuffer.o \ ../ccid_common/iso7816_fsm.o \ + ../ccid_common/iso7816_3.o \ ../ccid_common/cuart.o $(CC) $(CFLAGS) -o $@ $^ $(LIBS) $(shell pkg-config --libs libosmosim) diff --git a/sysmoOCTSIM/gcc/Makefile b/sysmoOCTSIM/gcc/Makefile index 7a37036..6c0974f 100644 --- a/sysmoOCTSIM/gcc/Makefile +++ b/sysmoOCTSIM/gcc/Makefile @@ -9,7 +9,7 @@ CFLAGS_CPU=-D__SAME54N19A__ -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 CFLAGS=-x c -mthumb -DDEBUG -Os -ffunction-sections -fdata-sections -mlong-calls \ - -g3 -Wall -c -std=gnu99 $(CFLAGS_CPU) + -g3 -Wall -c -std=gnu99 $(CFLAGS_CPU) -DOCTSIMFWBUILD CC = $(CROSS_COMPILE)gcc LD = $(CROSS_COMPILE)ld -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/16319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ccid-firmware Gerrit-Branch: master Gerrit-Change-Id: Ib07a58b6102b1709f295d08a764c6f118a2d0b9e Gerrit-Change-Number: 16319 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen <ewild at sysmocom.de> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20191128/c20dc709/attachment.htm>