- 25 Aug, 2004 7 commits
-
-
Lennert Buytenhek authored
Patch from Lennert Buytenhek Hi, gcc doesn't understand 80-bit floating point on the ARM currently, according to the kernel's Kconfig docs, but it would seem that the current extended double emulation code is broken for big endian platforms. So, this patch disables NWFPE_XP on big endian architectures, until someone comes round and fixes it. cheers, Lennert
-
Lennert Buytenhek authored
Patch from Lennert Buytenhek Hi, I need the patch below (against 2.6.8-rc1-ds1) to make nwfpe properly emulate arithmetic with doubles on a big endian ARM platform. From reading the mailing list archives and from helpful comments I've received from people on this list, I gather that this has come up in the past, but it appears that Russell King was never really convinced as to why this patch is needed. I think I understand what's going on, and will try to explain. On little endian ARM, the double value 1.0 looks like this when stored in memory in FPA word ordering: bytes: 0x00 0x00 0xf0 0x3f 0x00 0x00 0x00 0x00 u32s: 0x3ff00000 0x00000000 u64: 0x000000003ff00000 On big endian, it looks like this: bytes: 0x3f 0xf0 0x00 0x00 0x00 0x00 0x00 0x00 u32s: 0x3ff00000 0x00000000 u64: 0x3ff0000000000000 It appears to be this way because once upon a time, somebody decided that the sub-words of a double will use native endian word ordering within themselves, but the two separate words will always be stored with the most significant one first. God knows why they did it this way, but they did. Anyway. The key observation is that nwfpe internally stores double values in the type 'float64', which is basically just a typedef for unsigned long long. It never accesses 'float64's on the byte level by casting pointers around or anything like that, it just uses direct u64 arithmetic primitives (add, shift, or, and) for float64 manipulations and that's it. So. For little endian platforms, 1.0 looks like: 0x00 0x00 0xf0 0x3f 0x00 0x00 0x00 0x00 But since nwfpe treats it as a u64, it wants it to look like: 0x00 0x00 0x00 0x00 0x00 0x00 0xf0 0x3f So, that's why the current code swaps the words around when getting doubles from userspace and putting them back (see fpa11_cpdt.c, loadDouble and storeDouble.) On big endian, 1.0 looks like: 0x3f 0xf0 0x00 0x00 0x00 0x00 0x00 0x00 Since nwfpe treats it as a u64, it wants it to look like: 0x3f 0xf0 0x00 0x00 0x00 0x00 0x00 0x00 Hey! That's exactly the same. So in this case, it shouldn't be swapping the halves around. However, it currently does that swapping unconditionally, and that's why floating point emulation messes up. This is how I understand things -- hope it makes sense to other people too. cheers, Lennert
-
Ben Dooks authored
Patch from Ben Dooks Fixes missing IRQ_TICK from RTC resources
-
Ben Dooks authored
Patch from Ben Dooks Updated all arch/arm/mach-s3c2410/mach-XXX.c files to register default set of devices Added new board struct to keep this sort of info, as it isn't possible to register platform_devices until after the init_io functions have been called.
-
Ben Dooks authored
Patch from Ben Dooks Added clock definition for watchdog, and fixed it so that clocks that cannot be enabled/disabled will be left alone. Fixed typo in naming of clocks when registering
-
Russell King authored
-
Russell King authored
-
- 24 Aug, 2004 24 commits
-
-
Paul Mackerras authored
This changes the hash insertion routines to return an error instead of calling panic() when HV refuses to insert a HPTE (the hypervisor call to set up a hashtable PTE is H_ENTER). The error is now propagated upstream, and either bad_page_fault() is called (kernel mode) or a SIGBUS signal is forced (user mode). Some other panic() cases are also turned into BUG_ON. Overall, this should provide us with better debugging data if the problem happens, and avoids errors from userland mapping /dev/mem and trying to use forbidden IOs (XFree ?) to bring the whole kernel down. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Linus Torvalds authored
resource tree. In contrast to the old "request_resource()", this allows us to add a resource even when firmware (ACPI) has marked part of it as being in use.
-
Andrew Morton authored
From: Roger Luethi <rl@hellgate.ch> - remove Rhine model names (per Jeff's request) - remove redundant calls to clear MII cmd - fill some rhine_private fields earlier Signed-off-by: Roger Luethi <rl@hellgate.ch> Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Andrew Morton authored
From: Roger Luethi <rl@hellgate.ch> PHYs may come up isolated. Make sure we can send data to them. This code section needs a clean-up, but I prefer to merge this fix in isolation. Report and suggested fix by Tam, Ming Dat (Tommy). Signed-off-by: Roger Luethi <rl@hellgate.ch> Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Andrew Morton authored
From: Roger Luethi <rl@hellgate.ch> From: Arkadiusz Miskiewicz Signed-off-by: Arkadiusz Miskiewicz <arekm@pld-linux.org> Signed-off-by: Roger Luethi <rl@hellgate.ch> Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Andrew Morton authored
From: Kumar Gala <galak@somerset.sps.mot.com> Fix usage of printk on the output of mac address. Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Andrew Morton authored
From: Alexander Shatohin <ash@tsi.lv> Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Andrew Morton authored
From: Francois Romieu <romieu@fr.zoreil.com> If the Rx buffer gets corrupted or the FIFO hangs in new interesting ways, this code prevents the driver from looping in ksoftirqd context without making any progress. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Andrew Morton authored
From: Francois Romieu <romieu@fr.zoreil.com> This patch allows to update the interrupt status register after an Rx overflow or a Rx fifo error even when the Rx buffer contains no packet. The update must be kept in the packet processing loop to prevent an Rx error storm. As an interesting behavior, the status of the interrupt status register must not be read early. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Andrew Morton authored
From: Francois Romieu <romieu@fr.zoreil.com> Copy/paste abuse. Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Andrew Morton authored
From: Jesper Juhl <juhl-lkml@dif.dk> To silence the warning in $subject, rename log2 to cycx_log2 in this file to remove the clash, so there's no doubt that this file uses it's own defined log2 function. Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Andrew Morton authored
From: Adrian Bunk <bunk@fs.tum.de> drivers/net/hamradio/dmascc.c: In function `scc_isr': drivers/net/hamradio/dmascc.c:250: sorry, unimplemented: inlining failed in call to 'z8530_isr': function body not available drivers/net/hamradio/dmascc.c:969: sorry, unimplemented: called from here drivers/net/hamradio/dmascc.c:250: sorry, unimplemented: inlining failed in call to 'z8530_isr': function body not available drivers/net/hamradio/dmascc.c:978: sorry, unimplemented: called from here Signed-off-by: Adrian Bunk <bunk@fs.tum.de> Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Andrew Morton authored
From: Adrian Bunk <bunk@fs.tum.de> drivers/net/sk98lin/skge.c: In function `skge_remove_one': drivers/net/sk98lin/skge.c:5116: warning: implicit declaration of function `remove_proc_entry' drivers/net/sk98lin/skge.c:5116: `pSkRootDir' undeclared (first use in this function) drivers/net/sk98lin/skge.c:5116: (Each undeclared identifier is reported only once drivers/net/sk98lin/skge.c:5116: for each function it appears in.) drivers/net/sk98lin/skge.c: In function `skge_init': drivers/net/sk98lin/skge.c:5188: `SK_Root_Dir_entry' undeclared (first use in this function) Signed-off-by: Adrian Bunk <bunk@fs.tum.de> Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Andrew Morton authored
From: Francois Romieu <romieu@fr.zoreil.com> There is no guarantee that the event which gets passed is associated to a via-velocity device, thus preventing to dereference dev->priv as if it always was a struct velocity_info *. The via-velocity devices are kept in a module private list for comparison. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Andrew Morton authored
From: Adrian Bunk <bunk@fs.tum.de> drivers/net/ixgb/ixgb_main.c: In function `ixgb_up': drivers/net/ixgb/ixgb_main.c:86: sorry, unimplemented: inlining failed in call to 'ixgb_irq_enable': function body not available drivers/net/ixgb/ixgb_main.c:234: sorry, unimplemented: called from here Signed-off-by: Adrian Bunk <bunk@fs.tum.de> Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Andrew Morton authored
From: Adrian Bunk <bunk@fs.tum.de> CC drivers/net/tulip/dmfe.o drivers/net/tulip/dmfe.c: In function `dmfe_rx_packet': drivers/net/tulip/dmfe.c:323: sorry, unimplemented: inlining failed in call to 'cal_CRC': function body not available drivers/net/tulip/dmfe.c:936: sorry, unimplemented: called from here make[3]: *** [drivers/net/tulip/dmfe.o] Error 1 Signed-off-by: Adrian Bunk <bunk@fs.tum.de> Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Andrew Morton authored
From: Adrian Bunk <bunk@fs.tum.de> CC drivers/net/rrunner.o drivers/net/rrunner.c: In function `rr_timer': drivers/net/rrunner.h:846: sorry, unimplemented: inlining failed in call to 'rr_raz_tx': function body not available drivers/net/rrunner.c:1155: sorry, unimplemented: called from here drivers/net/rrunner.h:847: sorry, unimplemented: inlining failed in call to 'rr_raz_rx': function body not available drivers/net/rrunner.c:1156: sorry, unimplemented: called from here make[2]: *** [drivers/net/rrunner.o] Error 1 Signed-off-by: Adrian Bunk <bunk@fs.tum.de> Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Andrew Morton authored
From: Adrian Bunk <bunk@fs.tum.de> CC drivers/net/hamachi.o drivers/net/hamachi.c: In function `hamachi_interrupt': drivers/net/hamachi.c:562: sorry, unimplemented: inlining failed in call to 'hamachi_rx': function body not available drivers/net/hamachi.c:1402: sorry, unimplemented: called from here make[2]: *** [drivers/net/hamachi.o] Error 1 Signed-off-by: Adrian Bunk <bunk@fs.tum.de> Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Andrew Morton authored
From: Adrian Bunk <bunk@fs.tum.de> CC drivers/net/smc9194.o drivers/net/smc9194.c: In function `smc_interrupt': drivers/net/smc9194.c:278: sorry, unimplemented: inlining failed in call to 'smc_rcv': function body not available drivers/net/smc9194.c:1254: sorry, unimplemented: called from here drivers/net/smc9194.c:283: sorry, unimplemented: inlining failed in call to 'smc_tx': function body not available drivers/net/smc9194.c:1258: sorry, unimplemented: called from here make[2]: *** [drivers/net/smc9194.o] Error 1 Signed-off-by: Adrian Bunk <bunk@fs.tum.de> Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Andrew Morton authored
From: Nick Orlov <bugfixer@list.ru> e1000 fixes for gcc-3.4.1 Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Andrew Morton authored
drivers/net/e1000/e1000_main.c: In function `e1000_up': drivers/net/e1000/e1000_main.c:136: sorry, unimplemented: inlining failed in call to 'e1000_irq_enable': function body not available drivers/net/e1000/e1000_main.c:274: sorry, unimplemented: called from here Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Andrew Morton authored
From: Christoph Hellwig <hch@infradead.org> sk98line tries to register a procfile with the interfacename of the struct net_device. The patch below (ontop of the previous one) makes it work unless you change the interface name manually, but as Linux explicitly allows that the interface is fundamentally broken and probably should just go away. Signed-off-by: Andrew Morton <akpm@osdl.org>
-
Andrew Morton authored
From: Adrian Bunk <bunk@fs.tum.de> Signed-off-by: Adrian Bunk <bunk@fs.tum.de> Signed-off-by: Andrew Morton <akpm@osdl.org>
-
bk://linux-sam.bkbits.net/kbuildLinus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
- 25 Aug, 2004 2 commits
-
-
Sam Ravnborg authored
cc-version needs to use $(shell to get the gcc version. Before if gave the following error when building the kernel: /bin/sh: line 1: [: too many arguments And all checks for gcc version were broken. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
-
Sam Ravnborg authored
into mars.ravnborg.org:/home/sam/bk/kbuild
-
- 24 Aug, 2004 7 commits
-
-
Sam Ravnborg authored
into mars.ravnborg.org:/home/sam/bk/kbuild
-
bk://kernel.bkbits.net/davem/net-2.6Linus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
bk://ppc.bkbits.net/for-linus-ppcLinus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
Jens Axboe authored
Forgot one command, GPCMD_SEND_CUE_SHEET is also ok for write open. Signed-off-by: Jens Axboe <axboe@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Alexander Viro authored
If tty_open() fails for a normal serial device, we end up doing cleanups that should only happen for failed open of /dev/ptmx. The results are not pretty - devpts et.al. end up very confused. That's what gave problems with ptmx. This splits ptmx file_operations from the normal case and cleans up both tty_open() and (new) ptmx_open(). Survived serious beating.
-
William Lee Irwin III authored
Update architectures for the free_area_init_node() API change. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Trond Myklebust authored
That conversion to nfs_fh_copy() is bogus since we're not copying into an nfs_fh anyway. Just revert it.
-