- Dec 04, 2014
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This branch adds WRS shared memory, and makes the HAL use it. Clients (both locally with libwr and ppsi without libwr) now access port status with shared memory. We also have a shmem-dumping tool, that helped auditing the data structure (but changes to them are not applied yet). As a side effect libwr and the hal are passed throught Lindent, but before any change, so you can still blame these changes.
-
merge load-fpga.c and load-virtex.c Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Nov 28, 2014
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This moves the query_ports() and get_port_state() to be shared memory lookups. The hal_client.c file now accesses shared memory at init time, and performes the two functions above by looking in shared memory. The thing is sill suboptimal, because the "exported" hexp_port_state_t structure is only slightly different from struct hal_port_state. And most fields being looked up are never filled. Last but not least, halexp_get_timing_state() is not ready to be converted to shared memory at this point in time (timing data is not stored to shmem yet). Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This has no effect on the code functionality. Even if it affects libwr, this is a hal-only change. The functions in libwr that the hal itself uses, now receive a pointer to ports[], which is thus back a static pointer within wrsw_hal/hal_ports.c. This change allows moving the RPC queries to be shared memory lookups, by using the ports[] pointer in the client; so both the client and the server can access the same shared mamory using libwr functions. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
They are the usual 0 and -1: some functions returned the names, but no caller was checking the names. Also, PORT_BUSY (which was 1) was never used specially, so it is turned into a normal -1 error. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Even though the idea of using a single helper process for all web queries is sound, this is not it. No more comments from me. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Also fix makefiles and documentation Signed-off-by:
Adam Wujek <adam.wujek@cern.ch>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This allows other process to access port information without making several RPC calls. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
The stdout and stderr of the basic WR tools are piled to the "logger" process, to get actual logs saved, if so configured for. Thus, we should not reopen the output channels to /dev/null Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This is the first step to move the "get_port_state" query to shared memory. The internal structures of hal_ports.c will be allocated in shared memory, so the calls to halexp_* will just convert the data, without context-switching to the hal process. I couldn't add the functions to libwr/hal_client.c where they belong, because the choice of using the same "halexp" names for local and remote calls would lead to duplicate symbol definitions when linking the hal (the hal process links libwr, but can't link hal_client.o). Thus, libwr/hal_shmem.c is created, to host the parts of hal/hal_ports.c that are needed to convert data. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Maciej Lipinski <maciej.lipinski@cern.ch>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
LOCK_STATE_* macros were defined locally and not used (only LOCK_STATE_NONE was used, but 0 is better since the relevant function says "returns 0 or 1"). Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
HAL_PORT_MODE_* were defined locally and never used. The code uses HEXP_PORT_MODE_* instead (defined in <hal/hal_exports.h> and used in several places). Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
After this commit, all symbols in hal_ports are of the form hal_port_* (all but one, that is not used and I'll remove it in another commit). I'm not smart enough to track the origin of the various names, so I need this. I need this especially in this file because I'm going to export stuff using shmem, to avoid a lot of context switches. Thus, the "private" structure hal_port_state is not a typedef any more, as a first step in becoming public. It doesn't make sense to have two almost-identical structures, where one is copied to the other one item at a time to deal with the minor differences. (It happened for some reason: I'm not complaining hard, but it's time to get rid of this). Unfortunately, two functions were called "halexp", and relied on a prototype shared by the RPC server (this file) and the RPC client. While the convention made sense at first, it now shows its limits, so the exported one is called hal_port_* like everything in the file, but for this I need to add structure names (but I left the typedef at this point, to avoid massive name changes around). If I didn't introduce bugs, the code is the same as it was. I did it one symbol at a time while build-checking each steps (and I even have the commits to track any error). Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
pps_gen.c had a missing semicolon because of this bug. Fix the macro to behave properly withing if/else. And fix the user, adding the missing semicolon. We all know that these two functions should be static inline, and the fpga base pointer should be void *, but that's for later. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This header is almost obsolete, as we'll move to SDB soon. Meanwhile, sort out the tab/space mess and indent with spaces only, so it looks good to everybody (including greg who insists on one tab every 2 spaces -- which works for indentation, but not for for alignment at end-of-line). Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
We'd better use less CPU power to run the HAL, even if this shows down response times for management queries (until we move most of it to shmem). Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
The code was hardwired to /dev/ttyS2 and 115200 baud. So we are sure nobody is using it, and it actually can't be used at all. If needed, we know it's in the history. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Ackec-by:
Grzegorz Daniluk <grzegorz.daniluk@cern.ch>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-