https://sources.debian.org/data/main/p/picprog/1.9.1-3/debian/patches/20_iopl.patch Description: Avoid some functions in some architectures Upstream uses iopl() function and other architecture-dependent codes. This patch adds building switches to avoid them in some architectures. Author: Koichi Akabe Last-Update: 2011-11-30 --- picprog-1.9.1.orig/picport.cc +++ picprog-1.9.1/picport.cc @@ -38,7 +38,12 @@ #include #include -#include + +#if defined(__i386__) || defined(__x86_64__) + #include + #define HAVE_IOPL +#endif + #include #include #include @@ -160,8 +165,12 @@ // Not root. Cannot use realtime scheduling. use_nanosleep = 0; } +#ifdef HAVE_IOPL if (iopl (3)) disable_interrupts = 0; +#else + disable_interrupts = 0; +#endif #ifdef CPU_SETSIZE // When computing the delay loops, we do not want the cpu's to change. @@ -403,13 +412,17 @@ { struct timeval tv1, tv2; gettimeofday (&tv1, 0); +#if defined(__i386__) or defined(__x86_64__) if (tsc_1000ns > 1 && disable_interrupts) asm volatile("pushf; cli"); +#endif set_clock_data (1, b); // set data, clock up delay (cable_delay); set_clock_data (0, b); // clock down +#if defined(__i386__) or defined(__x86_64__) if (tsc_1000ns > 1 && disable_interrupts) asm volatile("popf"); +#endif gettimeofday (&tv2, 0); // We may have spent a long time in an interrupt or in another task @@ -428,13 +441,17 @@ { struct timeval tv1, tv2; gettimeofday (&tv1, 0); +#if defined(__i386__) or defined(__x86_64__) if (tsc_1000ns > 1 && disable_interrupts) asm volatile("pushf; cli"); +#endif set_clock_data (1, 1); // clock up delay (cable_delay); set_clock_data (0, 1); // set data up, clock down +#if defined(__i386__) or defined(__x86_64__) if (tsc_1000ns > 1 && disable_interrupts) asm volatile("popf"); +#endif gettimeofday (&tv2, 0); // We may have spent a long time in an interrupt or in another task >/gnu/installer/newt
AgeCommit message (Expand)Author
2024-04-03Switch order of the default substitute servers....The aim here is to improve the user experience. There's anecdotal evidence that the network performance for bordeaux is better compared to ci at least for some users, and I don't know of any issues with rate limiting or access restriction for bordeaux compared to ci. It also has IPv6 support. Additionally, bordeaux generally had more substitutes than ci, particularly for aarch64-linux and armhf-linux. This change will offer a very slight speedup for those substitutes that only bordeaux has. Bordeaux has been a default substitute server for nearly 3 years now and I think this change is overdue. I'm also hopeful that we'll be able to build on the testing regarding mirrors for bordeaux, and that'll allow potentially improving the hosting setup (through providing more redundancy) and further improving substitute fetching for users who currently have issues with substitute access. * config-daemon.ac: Switch substitute urls order. * doc/guix.texi: Ditto. * etc/guix-install.sh: Ditto. * gnu/installer/newt/network.scm (wait-service-online): Ditto. * guix/store.scm (%default-substitute-urls): Ditto. Change-Id: I4f6d93ae1fc8b03d80b47b18b5749a51f1fde17b Signed-off-by: Christopher Baines <mail@cbaines.net> Christopher Baines