mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: uClinux development list <uclinux-dev@uclinux.org>
Cc: torvalds@osdl.org, akpm@osdl.org, davidm@snapgear.com,
	linux-kernel@vger.kernel.org
Subject: Re: [uClinux-dev] [PATCH 1/14] FRV: Fujitsu FR-V CPU arch implementation
Date: Wed, 3 Nov 2004 00:46:10 +0100	[thread overview]
Message-ID: <20041102234610.GB7040@lst.de> (raw)
In-Reply-To: <76b4a884-2c3c-11d9-91a1-0002b3163499@redhat.com>

> --- /warthog/kernels/linux-2.6.10-rc1-bk10/arch/frv/boot/install.sh	1970-01-01 01:00:00.000000000 +0100
> +++ linux-2.6.10-rc1-bk10-frv/arch/frv/boot/install.sh	2004-11-01 11:47:04.635676524 +0000

please don't copy the horrible boot decompressor cludges to new arches.
Why can't your loader support vmlinux.gz files for a new port?

> diff -uNr /warthog/kernels/linux-2.6.10-rc1-bk10/arch/frv/kernel/irq.c linux-2.6.10-rc1-bk10-frv/arch/frv/kernel/irq.c
> --- /warthog/kernels/linux-2.6.10-rc1-bk10/arch/frv/kernel/irq.c	1970-01-01 01:00:00.000000000 +0100
> +++ linux-2.6.10-rc1-bk10-frv/arch/frv/kernel/irq.c	2004-11-01 14:09:42.825602343 +0000
> @@ -0,0 +1,1062 @@
> +/* irq.c: FRV IRQ handling
> + *
> + * Copyright (C) 2003, 2004 Red Hat, Inc. All Rights Reserved.
> + * Written by David Howells (dhowells@redhat.com)
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License
> + * as published by the Free Software Foundation; either version
> + * 2 of the License, or (at your option) any later version.
> + */
> +
> +/*
> + * (mostly architecture independent, will move to kernel/irq.c in 2.5.)
> + *
> + * IRQs are in fact implemented a bit like signal handlers for the kernel.
> + * Naturally it's not a 1:1 relation, but there are similarities.
> + */

Please use the generic kernel/irq/* code.

> +void __global_cli(void)
> +{
> +	unsigned int flags;
> +
> +	__save_flags(flags);
> +	if (flags & (1 << EFLAGS_IF_SHIFT)) {
> +		int cpu;
> +		__cli();
> +		cpu = smp_processor_id();
> +		if (!local_irq_count(cpu))
> +			get_irqlock(cpu);
> +	}
> +}

HTF did you managed to get this into a 2.6.x code submission?

> --- /warthog/kernels/linux-2.6.10-rc1-bk10/arch/frv/kernel/nmi.c	1970-01-01 01:00:00.000000000 +0100
> +++ linux-2.6.10-rc1-bk10-frv/arch/frv/kernel/nmi.c	2004-11-01 11:47:04.683672529 +0000
> @@ -0,0 +1,42 @@
> +/* nmi.c: FRV NMI handler (level 15 external interrupt)
> + *
> + * Copyright (C) 2003 Red Hat, Inc. All Rights Reserved.
> + * Written by David Howells (dhowells@redhat.com)
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License
> + * as published by the Free Software Foundation; either version
> + * 2 of the License, or (at your option) any later version.
> + */
> +
> +#include <linux/config.h>
> +#include <linux/ptrace.h>
> +#include <linux/errno.h>
> +#include <linux/signal.h>
> +#include <linux/sched.h>
> +#include <linux/ioport.h>
> +#include <linux/interrupt.h>
> +#include <linux/timex.h>
> +#include <linux/smp_lock.h>
> +#include <linux/init.h>
> +#include <linux/kernel_stat.h>
> +#include <linux/irq.h>
> +#include <linux/proc_fs.h>
> +
> +#include <asm/atomic.h>
> +#include <asm/io.h>
> +#include <asm/smp.h>
> +#include <asm/system.h>
> +#include <asm/bitops.h>
> +#include <asm/pgalloc.h>
> +#include <asm/delay.h>
> +#include <asm/irq.h>
> +#include <asm/gdb-stub.h>
> +
> +/*****************************************************************************/
> +/*
> + * deal with the NMI
> + */
> +asmlinkage void do_NMI(void)
> +{
> +} /* end do_IRQ() */

I can't see this beeing called from generic code ever, why do you
implement it?

> +#
> +# If you want the kernel build to build modules outside of the tree
> +# then define this and pass it to the main linux makefile
> +#
> +ifdef EXTRA_MODULE_DIRS
> +SUBDIRS += $(EXTRA_MODULE_DIRS)
> +endif

this is not something that belongs into arch code.

> +#ifdef CONFIG_MMU
> +
> +void *dma_alloc_coherent(struct device *hwdev, size_t size, dma_addr_t *dma_handle, int flag)
> +{
> +	void *ret;
> +	int gfp = GFP_ATOMIC;

the last argument is the gfp mask.

> +	if (hwdev == NULL || hwdev->coherent_dma_mask < 0xffffffff)
> +		gfp |= GFP_DMA;

does GFP_DMA really hae the same meaning as on i386 here?

> --- /warthog/kernels/linux-2.6.10-rc1-bk10/fs/proc/array.c	2004-10-27 17:32:31.000000000 +0100
> +++ linux-2.6.10-rc1-bk10-frv/fs/proc/array.c	2004-11-01 11:47:04.866657296 +0000
> @@ -289,6 +289,9 @@
>  	buffer = task_state(task, buffer);
>   
>  	if (mm) {
> +#if defined(CONFIG_FRV) && defined(CONFIG_MMU)
> +		buffer = proc_pid_status_frv_cxnr(mm, buffer);
> +#endif
>  		buffer = task_mem(mm, buffer);
>  		mmput(mm);

Don't mess with per-arch fields in common procfs files.  And don't ever
try to hide such a change again after an enormous patch otherwise only
adding new code.


  parent reply	other threads:[~2004-11-03  0:18 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <76b4a884-2c3c-11d9-91a1-0002b3163499@redhat.com>
2004-11-01 19:30 ` [PATCH 3/14] FRV: Fujitsu FR-V arch documentation dhowells
2004-11-01 19:30 ` [PATCH 4/14] FRV: Bitops fixes dhowells
2004-11-02  8:19   ` Andrew Morton
2004-11-01 19:30 ` [PATCH 5/14] FRV: Fork fixes dhowells
2004-11-01 19:30 ` [PATCH 9/14] FRV: CONFIG_MMU fixes dhowells
2004-11-02  9:43   ` Christoph Hellwig
2004-11-03 15:06   ` David Howells
2004-11-03 15:13     ` Christoph Hellwig
2004-11-03 15:30     ` David Howells
2004-11-01 19:30 ` [PATCH 11/14] FRV: Add FDPIC ELF binary format driver dhowells
2004-11-02  8:18   ` Andrew Morton
2004-11-02 11:07   ` Andrew Morton
2004-11-02 16:47   ` David Howells
2004-11-02 17:23     ` Andi Kleen
2004-11-01 19:30 ` [PATCH 7/14] FRV: GDB stub dependent additional BUG()'s dhowells
2004-11-02  9:34   ` Christoph Hellwig
2004-11-02 16:09   ` David Howells
2004-11-03 10:39     ` Christoph Hellwig
2004-11-03 13:41     ` David Howells
2004-11-01 19:30 ` [PATCH 10/14] FRV: Make calibrate_delay() optional dhowells
2004-11-02  0:06   ` john stultz
2004-11-02  8:17   ` Andrew Morton
2004-11-02  9:36   ` Christoph Hellwig
2004-11-02 11:01   ` David Howells
2004-11-02 16:29   ` David Howells
2004-11-03 10:40     ` Christoph Hellwig
2004-11-01 19:30 ` [PATCH 8/14] FRV: GP-REL data support dhowells
2004-11-02  8:18   ` Andrew Morton
2004-11-02  9:48   ` Christoph Hellwig
2004-11-02 16:34   ` David Howells
2004-11-03 10:42     ` Christoph Hellwig
2004-11-01 19:30 ` [PATCH 6/14] FRV: IDE fixes dhowells
2004-11-01 22:53   ` Alan Cox
2004-11-02  0:13     ` Bartlomiej Zolnierkiewicz
2004-11-02 10:57     ` David Howells
     [not found] ` <20040401020550.GG3150@beast>
2004-11-01 19:30   ` [PATCH 14/14] FRV: Better mmap support in uClinux dhowells
2004-11-02  9:54     ` Christoph Hellwig
2004-11-02 16:43     ` David Howells
2004-11-03 10:45       ` Christoph Hellwig
2004-11-08 14:34   ` [PATCH 17/20] " dhowells
2004-11-09 12:57     ` Christoph Hellwig
2004-11-09 13:55     ` David Howells
2004-11-09 14:02       ` Christoph Hellwig
2004-11-19  5:29     ` Matt Mackall
2004-11-19 16:26     ` David Howells
2004-11-19 16:56       ` Matt Mackall
2004-11-19 17:06       ` David Howells
2004-11-19 17:42         ` Linus Torvalds
2004-11-01 19:30 ` [PATCH 13/14] FRV: Convert extern inline -> static inline dhowells
2004-11-01 19:30 ` [PATCH 12/14] FRV: Generate more useful debug info dhowells
2004-11-02  0:29   ` Andrew Morton
2004-11-02 11:21   ` David Howells
2004-11-03  1:48     ` Linus Torvalds
2004-11-03  1:52       ` Linus Torvalds
2004-11-03 20:40         ` Florian Weimer
2004-11-03 20:42           ` Linus Torvalds
2004-11-03 13:38       ` David Howells
2004-11-03 15:32         ` Linus Torvalds
2004-11-12 14:57     ` Daniel Jacobowitz
2004-11-12 15:15     ` David Howells
2004-11-12 15:20       ` Daniel Jacobowitz
2004-11-02  0:21 ` [PATCH 1/14] FRV: Fujitsu FR-V CPU arch implementation Andrew Morton
2004-11-02 23:46 ` Christoph Hellwig [this message]
     [not found] ` <200411011930.iA1JUKFH023161@warthog.cambridge.redhat.com>
2004-11-02 23:24   ` [uClinux-dev] [PATCH 2/14] FRV: Fujitsu FR-V arch include files Christoph Hellwig
2004-11-03 17:26   ` David Howells
2004-11-03 19:46 ` [uClinux-dev] [PATCH 1/14] FRV: Fujitsu FR-V CPU arch implementation David Howells
2004-11-03 20:32   ` Christoph Hellwig
2004-11-04 11:54 ` David Howells
2004-11-08 14:34 [PATCH 1/20] FRV: Fujitsu FR-V CPU arch maintainer record dhowells
2004-11-08 14:34 ` [PATCH 2/20] FRV: Fujitsu FR-V arch documentation dhowells
2004-11-08 14:34 ` [PATCH 5/20] FRV: Fujitsu FR-V CPU arch implementation part 3 dhowells
2004-11-08 14:34 ` [PATCH 3/20] FRV: Fujitsu FR-V CPU arch implementation part 1 dhowells
2004-11-08 14:34 ` [PATCH 7/20] FRV: Fujitsu FR-V CPU arch implementation part 5 dhowells
2004-11-09 15:09   ` Geert Uytterhoeven
2004-11-08 14:34 ` [PATCH 6/20] FRV: Fujitsu FR-V CPU arch implementation part 4 dhowells
2004-11-08 14:34 ` [PATCH 4/20] FRV: Fujitsu FR-V CPU arch implementation part 2 dhowells
2004-11-08 14:34 ` [PATCH 11/20] FRV: Fujitsu FR-V CPU arch implementation part 9 dhowells
2004-11-08 14:34 ` [PATCH 10/20] FRV: Fujitsu FR-V CPU arch implementation part 8 dhowells
2004-11-08 14:34 ` [PATCH 8/20] FRV: Fujitsu FR-V CPU arch implementation part 6 dhowells
2004-11-08 14:34 ` [PATCH 9/20] FRV: Fujitsu FR-V CPU arch implementation part 7 dhowells
2004-11-08 14:34 ` [PATCH 15/20] FRV: Fujitsu FR-V arch include files dhowells
2004-11-08 14:34 ` [PATCH 16/20] FRV: Make calibrate_delay() optional dhowells
2004-11-08 14:34 ` [PATCH 13/20] FRV: Fujitsu FR-V arch include files dhowells
2004-11-08 14:34 ` [PATCH 14/20] " dhowells
2004-11-08 14:34 ` [PATCH 18/20] FRV: procfs changes for nommu changes dhowells
2004-11-08 14:34 ` [PATCH 20/20] FRV: Add FDPIC ELF binary format driver dhowells
2004-11-08 14:34 ` [PATCH 19/20] FRV: change setup_arg_pages() to take stack pointer dhowells

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20041102234610.GB7040@lst.de \
    --to=hch@lst.de \
    --cc=akpm@osdl.org \
    --cc=davidm@snapgear.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@osdl.org \
    --cc=uclinux-dev@uclinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®