summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)AuthorFilesLines
2009-12-15genirq: Convert irq_desc.lock to raw_spinlockThomas Gleixner32-131/+131
Convert locks which cannot be sleeping locks in preempt-rt to raw_spinlocks. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Peter Zijlstra <peterz@infradead.org> Acked-by: Ingo Molnar <mingo@elte.hu>
2009-12-15alpha: Fix fallout from locking changesThomas Gleixner2-18/+18
spin_* functions are mostly static inline now. That causes the alpha compile to fail: CC arch/alpha/kernel/sys_sable.o cc1: warnings being treated as errors In file included from arch/alpha/kernel/sys_sable.c:25: arch/alpha/include/asm/core_t2.h: In function 't2_readb': arch/alpha/include/asm/core_t2.h:451: error: 'spinlock_check' is static but \ used in inline function 't2_readb' which is not static arch/alpha/include/asm/core_t2.h:456: error: 'spin_unlock_irqrestore' is \ static but used in inline function 't2_readb' which is not static That's caused by the "extern inline" magic which is used for the subarch specific read/write[bwl] functions. I tried to distangle the uncountable macro onion layers, but failed miserably. Last resort solution: switch the t2_hae_lock to raw_spinlock_t so the lock functions are pure macros and function calls again. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Peter Zijlstra <peterz@infradead.org> Acked-by: Ingo Molnar <mingo@elte.hu> Cc: Richard Henderson <rth@twiddle.net> Cc: linux-alpha@vger.kernel.org
2009-12-15locking: Convert raw_rwlock functions to arch_rwlockThomas Gleixner15-190/+190
Name space cleanup for rwlock functions. No functional change. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Peter Zijlstra <peterz@infradead.org> Acked-by: David S. Miller <davem@davemloft.net> Acked-by: Ingo Molnar <mingo@elte.hu> Cc: linux-arch@vger.kernel.org
2009-12-15locking: Convert raw_rwlock to arch_rwlockThomas Gleixner28-143/+143
Not strictly necessary for -rt as -rt does not have non sleeping rwlocks, but it's odd to not have a consistent naming convention. No functional change. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Peter Zijlstra <peterz@infradead.org> Acked-by: David S. Miller <davem@davemloft.net> Acked-by: Ingo Molnar <mingo@elte.hu> Cc: linux-arch@vger.kernel.org
2009-12-15locking: Convert __raw_spin* functions to arch_spin*Thomas Gleixner24-238/+238
Name space cleanup. No functional change. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Peter Zijlstra <peterz@infradead.org> Acked-by: David S. Miller <davem@davemloft.net> Acked-by: Ingo Molnar <mingo@elte.hu> Cc: linux-arch@vger.kernel.org
2009-12-15locking: Rename __RAW_SPIN_LOCK_UNLOCKED to __ARCH_SPIN_LOCK_UNLOCKEDThomas Gleixner16-18/+18
Further name space cleanup. No functional change Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Peter Zijlstra <peterz@infradead.org> Acked-by: David S. Miller <davem@davemloft.net> Acked-by: Ingo Molnar <mingo@elte.hu> Cc: linux-arch@vger.kernel.org
2009-12-15locking: Convert raw_spinlock to arch_spinlockThomas Gleixner39-133/+133
The raw_spin* namespace was taken by lockdep for the architecture specific implementations. raw_spin_* would be the ideal name space for the spinlocks which are not converted to sleeping locks in preempt-rt. Linus suggested to convert the raw_ to arch_ locks and cleanup the name space instead of using an artifical name like core_spin, atomic_spin or whatever No functional change. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Peter Zijlstra <peterz@infradead.org> Acked-by: David S. Miller <davem@davemloft.net> Acked-by: Ingo Molnar <mingo@elte.hu> Cc: linux-arch@vger.kernel.org
2009-12-14Merge branch 'x86-fixes-for-linus' of ↵Linus Torvalds22-78/+133
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, mce: Clean up thermal init by introducing intel_thermal_supported() x86, mce: Thermal monitoring depends on APIC being enabled x86: Gart: fix breakage due to IOMMU initialization cleanup x86: Move swiotlb initialization before dma32_free_bootmem x86: Fix build warning in arch/x86/mm/mmio-mod.c x86: Remove usedac in feature-removal-schedule.txt x86: Fix duplicated UV BAU interrupt vector nvram: Fix write beyond end condition; prove to gcc copy is safe mm: Adjust do_pages_stat() so gcc can see copy_from_user() is safe x86: Limit the number of processor bootup messages x86: Remove enabling x2apic message for every CPU doc: Add documentation for bootloader_{type,version} x86, msr: Add support for non-contiguous cpumasks x86: Use find_e820() instead of hard coded trampoline address x86, AMD: Fix stale cpuid4_info shared_map data in shared_cpu_map cpumasks Trivial percpu-naming-introduced conflicts in arch/x86/kernel/cpu/intel_cacheinfo.c
2009-12-14Merge branch 'next-spi' of git://git.secretlab.ca/git/linux-2.6Linus Torvalds1-0/+35
* 'next-spi' of git://git.secretlab.ca/git/linux-2.6: (23 commits) spi: fix probe/remove section markings Add OMAP spi100k driver spi-imx: don't access struct device directly but use dev_get_platdata spi-imx: Add mx25 support spi-imx: use positive logic to distinguish cpu variants spi-imx: correct check for platform_get_irq failing ARM: NUC900: Add spi driver support for nuc900 spi: SuperH MSIOF SPI Master driver V2 spi: fix spidev compilation failure when VERBOSE is defined spi/au1550_spi: fix setupxfer not to override cfg with zeros spi/mpc8xxx: don't use __exit_p to wrap plat_mpc8xxx_spi_remove spi/i.MX: fix broken error handling for gpio_request spi/i.mx: drain MXC SPI transfer buffer when probing device MAINTAINERS: add SPI co-maintainer. spi/xilinx_spi: fix incorrect casting spi/mpc52xx-spi: minor cleanups xilinx_spi: add a platform driver using the xilinx_spi common module. xilinx_spi: add support for the DS570 IP. xilinx_spi: Switch to iomem functions and support little endian. xilinx_spi: Split into of driver and generic part. ...
2009-12-14Merge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblazeLinus Torvalds49-484/+1683
* 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze: (46 commits) microblaze: Remove rt_sigsuspend wrapper microblaze: nommu: Don't clobber R11 on syscalls microblaze: Remove show_tmem function microblaze: Support for WB cache microblaze: Add PVR for Microblaze v7.30.a microblaze: Remove ancient and fake microblaze version from cpu_ver table microblaze: Remove panic_timeout init value microblaze: Do not count system calls in default microblaze: Enable DTC compilation microblaze: Core oprofile configs and hooks microblaze: Fix level interrupt ACKing microblaze: Enable futimesat syscall microblaze: Checking DTS against PVR for write-back cache microblaze: Remove duplicity from pgalloc.h microblaze: Futex support microblaze: Adding dev_arch_data functions microblaze: Fix the heartbeat gpio to be more robust microblaze: Simple __copy_tofrom_user for noMMU microblaze: Export memory_start for modules microblaze: Use lowest-common-denominator default CPU settings ...
2009-12-14Merge branch 'for-next' of ↵Linus Torvalds8-43/+103
git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (58 commits) mfd: Add twl6030 regulator subdevices regulator: Add support for twl6030 regulators rtc: Add twl6030 RTC support mfd: Add support for twl6030 irq framework mfd: Rename twl4030_ routines in twl-regulator.c mfd: Rename twl4030_ routines in rtc-twl.c mfd: Rename all twl4030_i2c* mfd: Rename twl4030* driver files to enable re-use mfd: Clarify twl4030 return value for read and write mfd: Add all twl4030 regulators to the twl4030 mfd driver mfd: Don't set mc13783 ADREFMODE for touch conversions mfd: Remove ezx-pcap defines for custom led gpio encoding mfd: Near complete mc13783 rewrite mfd: Remove build time warning for WM835x register default tables mfd: Force I2C to be built in when building WM831x mfd: Don't allow wm831x to be built as a module mfd: Fix incorrect error check for wm8350-core mfd: Fix twl4030 warning gpiolib: Implement gpio_to_irq() for wm831x mfd: Remove default selection of AB4500 ...
2009-12-14Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds26-80/+3178
* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: ARM: fix lh7a40x build ARM: fix sa1100 build ARM: fix clps711x, footbridge, integrator, ixp2000, ixp2300 and s3c build bug ARM: VFP: fix vfp thread init bug and document vfp notifier entry conditions ARM: pxa: fix now incorrect reference of skt->irq by using skt->socket.pci_irq [ARM] pxa/zeus: default configuration for Arcom Zeus SBC. [ARM] pxa/zeus: make Viper pcmcia support more generic to support Zeus [ARM] pxa/zeus: basic support for Arcom Zeus SBC [ARM] pxa/em-x270: fix usb hub power up/reset sequence PCMCIA: fix pxa2xx_lubbock modular build error ARM: RealView: Fix typo in the RealView/PBX Kconfig entry ARM: Do not allow the probing of the local timer ARM: Add an earlyprintk debug console
2009-12-14Merge branch 'for-linus' of ↵Linus Torvalds37-372/+592
git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (34 commits) m68k: rename global variable vmalloc_end to m68k_vmalloc_end percpu: add missing per_cpu_ptr_to_phys() definition for UP percpu: Fix kdump failure if booted with percpu_alloc=page percpu: make misc percpu symbols unique percpu: make percpu symbols in ia64 unique percpu: make percpu symbols in powerpc unique percpu: make percpu symbols in x86 unique percpu: make percpu symbols in xen unique percpu: make percpu symbols in cpufreq unique percpu: make percpu symbols in oprofile unique percpu: make percpu symbols in tracer unique percpu: make percpu symbols under kernel/ and mm/ unique percpu: remove some sparse warnings percpu: make alloc_percpu() handle array types vmalloc: fix use of non-existent percpu variable in put_cpu_var() this_cpu: Use this_cpu_xx in trace_functions_graph.c this_cpu: Use this_cpu_xx for ftrace this_cpu: Use this_cpu_xx in nmi handling this_cpu: Use this_cpu operations in RCU this_cpu: Use this_cpu ops for VM statistics ... Fix up trivial (famous last words) global per-cpu naming conflicts in arch/x86/kvm/svm.c mm/slab.c
2009-12-14x86, mce: Clean up thermal init by introducing intel_thermal_supported()Hidetoshi Seto1-5/+12
It looks better to have a common function. No change in functionality. Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com> Cc: Cyrill Gorcunov <gorcunov@openvz.org> LKML-Reference: <4B25FDDC.407@jp.fujitsu.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Cc: Cyrill Gorcunov <gorcunov@openvz.org>
2009-12-14x86, mce: Thermal monitoring depends on APIC being enabledCyrill Gorcunov1-2/+3
Add check if APIC is not disabled since thermal monitoring depends on it. As only apic gets disabled we should not try to install "thermal monitor" vector, print out that thermal monitoring is enabled and etc... Note that "Intel Correct Machine Check Interrupts" already has such a check. Also I decided to not add cpu_has_apic check into mcheck_intel_therm_init since even if it'll call apic_read on disabled apic -- it's safe here and allow us to save a few code bytes. Reported-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com> LKML-Reference: <4B25FDC2.3020401@jp.fujitsu.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-12-14x86: Gart: fix breakage due to IOMMU initialization cleanupYinghai Lu2-6/+8
This fixes the following breakage of the commit 75f1cdf1dda92cae037ec848ae63690d91913eac: - GART systems that don't AGP with broken BIOS and more than 4GB memory are forced to use swiotlb. They can allocate aperture by hand and use GART. - GART systems without GAP must disable GART on shutdown. - swiotlb usage is forced by the boot option, gart_iommu_hole_init() is not called, so we disable GART early_gart_iommu_check(). Signed-off-by: Yinghai Lu <yinghai@kernel.org> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> LKML-Reference: <1260759135-6450-3-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-12-14x86: Move swiotlb initialization before dma32_free_bootmemFUJITA Tomonori1-1/+4
The commit 75f1cdf1dda92cae037ec848ae63690d91913eac introduced a bug that we initialize SWIOTLB right after dma32_free_bootmem so we wrongly steal memory area allocated for GART with broken BIOS earlier. This moves swiotlb initialization before dma32_free_bootmem(). Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Cc: yinghai@kernel.org LKML-Reference: <1260759135-6450-2-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-12-14x86: Fix build warning in arch/x86/mm/mmio-mod.cJoe Perches1-1/+1
Stephen Rothwell reported these warnings: arch/x86/mm/mmio-mod.c: In function 'print_pte': arch/x86/mm/mmio-mod.c:100: warning: too many arguments for format arch/x86/mm/mmio-mod.c:106: warning: too many arguments for format The 'fmt' was left out accidentally. Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Joe Perches <joe@perches.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Linus <torvalds@linux-foundation.org> LKML-Reference: <1260775443.18538.16.camel@Joe-Laptop.home> Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-12-14microblaze: Remove rt_sigsuspend wrapperMichal Simek3-13/+1
Generic rt_sigsuspend syscalls doesn't need any asm wrapper. Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: nommu: Don't clobber R11 on syscallssteve@digidescorp.com1-2/+0
The noMMU syscall trap has a bug that causes R11 to be zero on return to userland. Remove the extra "save" of R11 responsible for the bug. Remove reloading of mode indicator because r11 already contains it. Signed-off-by: Steven J. Magnani <steve@digidescorp.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Remove show_tmem functionMichal Simek1-10/+0
show_tmem function do nothing that's why I removed it. There is also cleaning of commented ancient code. Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Support for WB cacheMichal Simek4-268/+574
Microblaze version 7.20.d is the first MB version which can be run on MMU linux. Please do not used previous version because they contain HW bug. Based on WB support was necessary to redesign whole cache design. Microblaze versions from 7.20.a don't need to disable IRQ and cache before working with them that's why there are special structures for it. Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Add PVR for Microblaze v7.30.aMichal Simek1-0/+1
Microblaze v7.30.a will have 0x10 version string. Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Remove ancient and fake microblaze version from cpu_ver tableMichal Simek1-5/+0
We need to continue with next microblaze PVR version that's why I have to remove that ancient version. These version strings not match any versions. From Microblaze v5.00.a is possible to use this style. I believe that none use ancients versions. If yes they will be just labeled as unknown version. Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Remove panic_timeout init valueMichal Simek1-2/+0
panic_timeout is in BSS section and it is cleared with BSS section. This means that value is setup to 0. Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Do not count system calls in defaultMichal Simek1-0/+4
There is not necessary to count system calls that's why I added DEBUG macro Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Enable DTC compilationMichal Simek1-0/+3
For simpleImage format we need to compile DTC. There is still possibility to compile only Linux kernel without DTB compiled-in. Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Core oprofile configs and hooksJohn Williams4-0/+39
Microblaze uses timer interrupt mode. Microblaze don't have any performance counter that's why we use just simple implementation. Signed-off-by: John Williams <john.williams@petalogix.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Fix level interrupt ACKingsteve@digidescorp.com1-1/+9
Level interrupts need to be ack'd in the unmask handler, as in powerpc. Among other issues, this bug causes the system clock to appear to run at double-speed. Signed-off-by: Steven J. Magnani <steve@digidescorp.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Enable futimesat syscallMichal Simek1-1/+1
Futimesat was disabled. LTP testing shows that MB has no problem with this syscall. Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Checking DTS against PVR for write-back cacheMichal Simek2-12/+29
WB cache has special flag in PVR. There is added checking mechanism for PVR and DTS. Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Remove duplicity from pgalloc.hMichal Simek1-6/+3
just file cleanup Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Futex supportMichal Simek1-1/+126
Microblaze v7.20 provides new lwx, swx instructions which bring possibility to implement lock rutines. There are some tests in open posix thread LTP part but current toolchain not support it. Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Adding dev_arch_data functionsMichal Simek1-0/+12
The functions, dev_arch_data_set_node and get_node are missing and are needed by some device drivers such as I2C. Signed-off-by: John Linn <john.linn@xilinx.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Fix the heartbeat gpio to be more robustJohn Linn1-5/+10
The device tree handling for the gpio in the heart beat was not handling the system when there was no gpio and it wasn't working with a newer version of the gpio core which does not have the is-bidir property. Signed-off-by: John Linn <john.linn@xilinx.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Simple __copy_tofrom_user for noMMUJohn Williams2-6/+13
This is first patch which clear part of uaccess.h. uaccess.h will be clear later. Signed-off-by: John Williams <john.williams@petalogix.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Export memory_start for modulesMichal Simek1-0/+1
memory_start symbol is needed by kernel modules. Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Use lowest-common-denominator default CPU settingsJohn Williams1-6/+6
This will ensure that kernels built with no custom CPU settings will still boot OK on hardware that has additional CPU hardware instructions etc. Signed-off-by: John Williams <john.williams@petalogix.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Update default generic DTSMichal Simek1-3/+7
It is generated with longer compatible list Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Enable asm optimization only for HW with barrel-shifterMichal Simek1-1/+1
Asm code uses barrel-shifter instruction that's why we have to protect cases when HW don't have it. Reported-by: John Linn <john.linn@xilinx.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Remove the buggy ALLOW_EDIT_AUTO config optionJohn Williams2-28/+8
This was intended to allow manual override of CPU settings copied automatically to Kconfig.auto, however it's problematic for several reasons, but mostly: * If the defconfig doesn't have ALLOW_EDIT_AUTO=y, then it's impossible for that defconfig to iverride the values in the kernel source tree. This leads to very strange errors where the kernel is compiled with the wrong CPUFLAGS. Next patch in the series will back out the default in Kconfig.auto to baseline settings, so a kernel built with no default values will at least boot on any hardware, just not make use of additional CPU features. Signed-off-by: John Williams <john.williams@petalogix.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Move cache macro from cache.h to cacheflush.hMichal Simek3-16/+18
Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: support U-BOOT image formatMichal Simek1-2/+13
Two version are generated. linux.bin.ub which is created from linux.bin file and simpleImage.<dts>.ub which is created from stripped simpleImage.<dts> file Load address and entry point is for microblaze first instruction which is CONFIG_KERNEL_BASE_ADDR variable. There is possible for simpleImage format parse _start symbol too. simpleImage.<dts> is still stripped elf file I cleared simpleImage.<dts>.unstrip file because there are so big. Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Ptrace notifying from signal codeMichal Simek1-0/+4
After the signal frame is set up on the userspace stack, ptrace() should be given an opportunity to single-step into the signal handler FRV, Blackfin, mn10300 and UM. Worth to look at that patches. Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Extend cpuinfo for support write-back cachesMichal Simek3-2/+8
There is missing checking agains PVR but this is not important for now. There are some missing checking too. Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Fix cache_line_lenghtMichal Simek4-20/+20
We used cache_line as cache_line_lenght. For this reason we did cache flushing 4 times longer than was necessary. Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Detect new 7.20.d versionMichal Simek1-0/+1
Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Support both levels for resetMichal Simek1-4/+6
Till this patch reset always perform writen to 1. Now we can use negative logic and perform reset write to 0. It is opposite level than is currently read from that pin Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Fix announce message for reset gpioMichal Simek1-1/+1
I had to change message for gpio-reset because I always not to see it. Prefix RESET is big and visible. Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Remove saving and restoring before calling signal codeMichal Simek1-4/+0
Saving is done in SAVE_STATE macros that's why another save discard previous saved value. This change has no effect to normal programs because they ends in any exception and they are killed. On the other side has effect on debugging. Signed-off-by: Michal Simek <monstr@monstr.eu>