[uClinux-dev] nios2: the last several patches,
and being almost there
Robert P. J. Day
rpjday at crashcourse.ca
Sun Oct 28 02:59:39 EST 2007
just for people who are still following along and haven't lapsed
into a nios2-induced coma, here's a quick rundown of the changes i
applied yesterday to the nios2 patchset to get it to apply cleanly
against the latest kernel git tree and get the kernel build to
progress all the way to the final link. so we're real close now.
first, all of the header files in include/asm-nios2nommu/:
atomic.h:
--------
add "#include <linux/compiler.h>" to define the "likely" conditional
attribute
fcntl.h:
-------
rip out everything that's already duplicated in
<asm-generic/fcntl.h>. what this leaves as the entire content of
this header file is:
#ifndef _ASM_NIOS2NOMMU_FCNTL_H
#define _ASM_NIOS2NOMMU_FCNTL_H
#define O_DIRECTORY 040000 /* must be a directory */
#define O_NOFOLLOW 0100000 /* don't follow links */
#define O_DIRECT 0200000 /* direct disk access hint - currently ignored */
#define O_LARGEFILE 0400000
#include <asm-generic/fcntl.h>
#endif
flat.h:
------
- add a fourth parameter, "persistent", to flat_get_addr_from_rp()
- add a definition for flat_set_persistent() that returns simply
zero
ipc.h:
-----
this file was tossed entirely since there was nothing different from
the contents of <linux/ipc.h>
io.h:
----
add definitions for ioport_map() and ioport_unmap() so that
lib/devres.c can compile. i'm not sure what these should look like so
i just added basic no-ops for the build to work:
static inline void __iomem *ioport_map(unsigned long port, unsigned int nr)
{
return (void __iomem *) port;
}
static inline void ioport_unmap(void __iomem *p)
{
}
kdebug.h:
--------
just create this header, and have it include <asm-generic/kdebug.h>,
nothing more
pci.h:
-----
remove the definition of the routine pcibios_add_platform_entries(),
since that's already supplied by drivers/pci/pci-sysfs.c.
scatterlist.h:
-------------
update the definition of "struct scatterlist" to use the new
page_link field rather than the old, obsolete page field.
socket.h:
--------
add the macro definitions:
#define SO_TIMESTAMPNS 35
#define SCM_TIMESTAMPNS SO_TIMESTAMPNS
and, finally, the source file
arch/asm-nios2nommu/mm/dma-noncoherent.c had to be rewritten a fair
bit to be compatible with the new scatterlist struct.
comments?
rday
p.s. i have a compressed patch (233K) that applies cleanly against
the latest git pull i can mail to anyone who wants it. note, as i've
said before, that it can build a kernel up to the point of the final
link, at which point it fails due to the lack of the routines:
dma_release_declared_memory()
dma_declare_coherent_memory()
once i figure out what to do about those, i might actually have a
kernel.
--
========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry
Waterloo, Ontario, CANADA
http://crashcourse.ca
========================================================================
More information about the uClinux-dev
mailing list