hw/block/nand.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-)
This is the QEMU equivalent of this Linux commit (but 7 years later):
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f7025a43a9da2
The MTD subsystem has its own small museum of ancient NANDs
in a form of the CONFIG_MTD_NAND_MUSEUM_IDS configuration option.
The museum contains stone age NANDs with 256 bytes pages, as well
as iron age NANDs with 512 bytes per page and up to 8MiB page size.
It is with great sorrow that I inform you that the museum is being
decommissioned. The MTD subsystem is out of budget for Kconfig
options and already has too many of them, and there is a general
kernel trend to simplify the configuration menu.
We remove the stone age exhibits along with closing the museum,
but some of the iron age ones are transferred to the regular NAND
depot. Namely, only those which have unique device IDs are
transferred, and the ones which have conflicting device IDs are
removed.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
hw/block/nand.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/hw/block/nand.c b/hw/block/nand.c
index 654e0cb5d1..7d7ccc9aa4 100644
--- a/hw/block/nand.c
+++ b/hw/block/nand.c
@@ -137,7 +137,7 @@ static void mem_and(uint8_t *dest, const uint8_t *src, size_t n)
# define ADDR_SHIFT 16
# include "nand.c"
-/* Information based on Linux drivers/mtd/nand/nand_ids.c */
+/* Information based on Linux drivers/mtd/nand/raw/nand_ids.c */
static const struct {
int size;
int width;
@@ -153,15 +153,14 @@ static const struct {
[0xe8] = { 1, 8, 8, 4, 0 },
[0xec] = { 1, 8, 8, 4, 0 },
[0xea] = { 2, 8, 8, 4, 0 },
- [0xd5] = { 4, 8, 9, 4, 0 },
[0xe3] = { 4, 8, 9, 4, 0 },
[0xe5] = { 4, 8, 9, 4, 0 },
- [0xd6] = { 8, 8, 9, 4, 0 },
- [0x39] = { 8, 8, 9, 4, 0 },
- [0xe6] = { 8, 8, 9, 4, 0 },
- [0x49] = { 8, 16, 9, 4, NAND_BUSWIDTH_16 },
- [0x59] = { 8, 16, 9, 4, NAND_BUSWIDTH_16 },
+ [0x6b] = { 4, 8, 9, 4, 0 },
+ [0xe3] = { 4, 8, 9, 4, 0 },
+ [0xe5] = { 4, 8, 9, 4, 0 },
+ [0xd6] = { 8, 8, 9, 4, 0 },
+ [0xe6] = { 8, 8, 9, 4, 0 },
[0x33] = { 16, 8, 9, 5, 0 },
[0x73] = { 16, 8, 9, 5, 0 },
--
2.21.3
I forgot to Cc qemu-arm@, doing it now since most of the users of this are ARM machines. On 8/14/20 3:21 PM, Philippe Mathieu-Daudé wrote: > This is the QEMU equivalent of this Linux commit (but 7 years later): > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f7025a43a9da2 > > The MTD subsystem has its own small museum of ancient NANDs > in a form of the CONFIG_MTD_NAND_MUSEUM_IDS configuration option. > The museum contains stone age NANDs with 256 bytes pages, as well > as iron age NANDs with 512 bytes per page and up to 8MiB page size. > > It is with great sorrow that I inform you that the museum is being > decommissioned. The MTD subsystem is out of budget for Kconfig > options and already has too many of them, and there is a general > kernel trend to simplify the configuration menu. > > We remove the stone age exhibits along with closing the museum, > but some of the iron age ones are transferred to the regular NAND > depot. Namely, only those which have unique device IDs are > transferred, and the ones which have conflicting device IDs are > removed. > > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > hw/block/nand.c | 13 ++++++------- > 1 file changed, 6 insertions(+), 7 deletions(-) > > diff --git a/hw/block/nand.c b/hw/block/nand.c > index 654e0cb5d1..7d7ccc9aa4 100644 > --- a/hw/block/nand.c > +++ b/hw/block/nand.c > @@ -137,7 +137,7 @@ static void mem_and(uint8_t *dest, const uint8_t *src, size_t n) > # define ADDR_SHIFT 16 > # include "nand.c" > > -/* Information based on Linux drivers/mtd/nand/nand_ids.c */ > +/* Information based on Linux drivers/mtd/nand/raw/nand_ids.c */ > static const struct { > int size; > int width; > @@ -153,15 +153,14 @@ static const struct { > [0xe8] = { 1, 8, 8, 4, 0 }, > [0xec] = { 1, 8, 8, 4, 0 }, > [0xea] = { 2, 8, 8, 4, 0 }, > - [0xd5] = { 4, 8, 9, 4, 0 }, > [0xe3] = { 4, 8, 9, 4, 0 }, > [0xe5] = { 4, 8, 9, 4, 0 }, > - [0xd6] = { 8, 8, 9, 4, 0 }, > > - [0x39] = { 8, 8, 9, 4, 0 }, > - [0xe6] = { 8, 8, 9, 4, 0 }, > - [0x49] = { 8, 16, 9, 4, NAND_BUSWIDTH_16 }, > - [0x59] = { 8, 16, 9, 4, NAND_BUSWIDTH_16 }, > + [0x6b] = { 4, 8, 9, 4, 0 }, > + [0xe3] = { 4, 8, 9, 4, 0 }, > + [0xe5] = { 4, 8, 9, 4, 0 }, > + [0xd6] = { 8, 8, 9, 4, 0 }, > + [0xe6] = { 8, 8, 9, 4, 0 }, > > [0x33] = { 16, 8, 9, 5, 0 }, > [0x73] = { 16, 8, 9, 5, 0 }, >
ping? On 8/14/20 3:23 PM, Philippe Mathieu-Daudé wrote: > I forgot to Cc qemu-arm@, doing it now since most of the users > of this are ARM machines. > > On 8/14/20 3:21 PM, Philippe Mathieu-Daudé wrote: >> This is the QEMU equivalent of this Linux commit (but 7 years later): >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f7025a43a9da2 >> >> The MTD subsystem has its own small museum of ancient NANDs >> in a form of the CONFIG_MTD_NAND_MUSEUM_IDS configuration option. >> The museum contains stone age NANDs with 256 bytes pages, as well >> as iron age NANDs with 512 bytes per page and up to 8MiB page size. >> >> It is with great sorrow that I inform you that the museum is being >> decommissioned. The MTD subsystem is out of budget for Kconfig >> options and already has too many of them, and there is a general >> kernel trend to simplify the configuration menu. >> >> We remove the stone age exhibits along with closing the museum, >> but some of the iron age ones are transferred to the regular NAND >> depot. Namely, only those which have unique device IDs are >> transferred, and the ones which have conflicting device IDs are >> removed. >> >> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> >> --- >> hw/block/nand.c | 13 ++++++------- >> 1 file changed, 6 insertions(+), 7 deletions(-) >> >> diff --git a/hw/block/nand.c b/hw/block/nand.c >> index 654e0cb5d1..7d7ccc9aa4 100644 >> --- a/hw/block/nand.c >> +++ b/hw/block/nand.c >> @@ -137,7 +137,7 @@ static void mem_and(uint8_t *dest, const uint8_t *src, size_t n) >> # define ADDR_SHIFT 16 >> # include "nand.c" >> >> -/* Information based on Linux drivers/mtd/nand/nand_ids.c */ >> +/* Information based on Linux drivers/mtd/nand/raw/nand_ids.c */ >> static const struct { >> int size; >> int width; >> @@ -153,15 +153,14 @@ static const struct { >> [0xe8] = { 1, 8, 8, 4, 0 }, >> [0xec] = { 1, 8, 8, 4, 0 }, >> [0xea] = { 2, 8, 8, 4, 0 }, >> - [0xd5] = { 4, 8, 9, 4, 0 }, >> [0xe3] = { 4, 8, 9, 4, 0 }, >> [0xe5] = { 4, 8, 9, 4, 0 }, >> - [0xd6] = { 8, 8, 9, 4, 0 }, >> >> - [0x39] = { 8, 8, 9, 4, 0 }, >> - [0xe6] = { 8, 8, 9, 4, 0 }, >> - [0x49] = { 8, 16, 9, 4, NAND_BUSWIDTH_16 }, >> - [0x59] = { 8, 16, 9, 4, NAND_BUSWIDTH_16 }, >> + [0x6b] = { 4, 8, 9, 4, 0 }, >> + [0xe3] = { 4, 8, 9, 4, 0 }, >> + [0xe5] = { 4, 8, 9, 4, 0 }, >> + [0xd6] = { 8, 8, 9, 4, 0 }, >> + [0xe6] = { 8, 8, 9, 4, 0 }, >> >> [0x33] = { 16, 8, 9, 5, 0 }, >> [0x73] = { 16, 8, 9, 5, 0 }, >> >
ping^2 On 8/22/20 10:03 PM, Philippe Mathieu-Daudé wrote: > ping? > > On 8/14/20 3:23 PM, Philippe Mathieu-Daudé wrote: >> I forgot to Cc qemu-arm@, doing it now since most of the users >> of this are ARM machines. >> >> On 8/14/20 3:21 PM, Philippe Mathieu-Daudé wrote: >>> This is the QEMU equivalent of this Linux commit (but 7 years later): >>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f7025a43a9da2 >>> >>> The MTD subsystem has its own small museum of ancient NANDs >>> in a form of the CONFIG_MTD_NAND_MUSEUM_IDS configuration option. >>> The museum contains stone age NANDs with 256 bytes pages, as well >>> as iron age NANDs with 512 bytes per page and up to 8MiB page size. >>> >>> It is with great sorrow that I inform you that the museum is being >>> decommissioned. The MTD subsystem is out of budget for Kconfig >>> options and already has too many of them, and there is a general >>> kernel trend to simplify the configuration menu. >>> >>> We remove the stone age exhibits along with closing the museum, >>> but some of the iron age ones are transferred to the regular NAND >>> depot. Namely, only those which have unique device IDs are >>> transferred, and the ones which have conflicting device IDs are >>> removed. >>> >>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> >>> --- >>> hw/block/nand.c | 13 ++++++------- >>> 1 file changed, 6 insertions(+), 7 deletions(-) >>> >>> diff --git a/hw/block/nand.c b/hw/block/nand.c >>> index 654e0cb5d1..7d7ccc9aa4 100644 >>> --- a/hw/block/nand.c >>> +++ b/hw/block/nand.c >>> @@ -137,7 +137,7 @@ static void mem_and(uint8_t *dest, const uint8_t *src, size_t n) >>> # define ADDR_SHIFT 16 >>> # include "nand.c" >>> >>> -/* Information based on Linux drivers/mtd/nand/nand_ids.c */ >>> +/* Information based on Linux drivers/mtd/nand/raw/nand_ids.c */ >>> static const struct { >>> int size; >>> int width; >>> @@ -153,15 +153,14 @@ static const struct { >>> [0xe8] = { 1, 8, 8, 4, 0 }, >>> [0xec] = { 1, 8, 8, 4, 0 }, >>> [0xea] = { 2, 8, 8, 4, 0 }, >>> - [0xd5] = { 4, 8, 9, 4, 0 }, >>> [0xe3] = { 4, 8, 9, 4, 0 }, >>> [0xe5] = { 4, 8, 9, 4, 0 }, >>> - [0xd6] = { 8, 8, 9, 4, 0 }, >>> >>> - [0x39] = { 8, 8, 9, 4, 0 }, >>> - [0xe6] = { 8, 8, 9, 4, 0 }, >>> - [0x49] = { 8, 16, 9, 4, NAND_BUSWIDTH_16 }, >>> - [0x59] = { 8, 16, 9, 4, NAND_BUSWIDTH_16 }, >>> + [0x6b] = { 4, 8, 9, 4, 0 }, >>> + [0xe3] = { 4, 8, 9, 4, 0 }, >>> + [0xe5] = { 4, 8, 9, 4, 0 }, >>> + [0xd6] = { 8, 8, 9, 4, 0 }, >>> + [0xe6] = { 8, 8, 9, 4, 0 }, >>> >>> [0x33] = { 16, 8, 9, 5, 0 }, >>> [0x73] = { 16, 8, 9, 5, 0 }, >>> >> >
On 9/6/20 7:46 PM, Philippe Mathieu-Daudé wrote: > ping^2 > > On 8/22/20 10:03 PM, Philippe Mathieu-Daudé wrote: >> ping? >> >> On 8/14/20 3:23 PM, Philippe Mathieu-Daudé wrote: >>> I forgot to Cc qemu-arm@, doing it now since most of the users >>> of this are ARM machines. >>> >>> On 8/14/20 3:21 PM, Philippe Mathieu-Daudé wrote: >>>> This is the QEMU equivalent of this Linux commit (but 7 years later): >>>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f7025a43a9da2 >>>> >>>> The MTD subsystem has its own small museum of ancient NANDs >>>> in a form of the CONFIG_MTD_NAND_MUSEUM_IDS configuration option. >>>> The museum contains stone age NANDs with 256 bytes pages, as well >>>> as iron age NANDs with 512 bytes per page and up to 8MiB page size. >>>> >>>> It is with great sorrow that I inform you that the museum is being >>>> decommissioned. The MTD subsystem is out of budget for Kconfig >>>> options and already has too many of them, and there is a general >>>> kernel trend to simplify the configuration menu. >>>> >>>> We remove the stone age exhibits along with closing the museum, >>>> but some of the iron age ones are transferred to the regular NAND >>>> depot. Namely, only those which have unique device IDs are >>>> transferred, and the ones which have conflicting device IDs are >>>> removed. >>>> >>>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~ >>>> --- >>>> hw/block/nand.c | 13 ++++++------- >>>> 1 file changed, 6 insertions(+), 7 deletions(-) >>>> >>>> diff --git a/hw/block/nand.c b/hw/block/nand.c >>>> index 654e0cb5d1..7d7ccc9aa4 100644 >>>> --- a/hw/block/nand.c >>>> +++ b/hw/block/nand.c >>>> @@ -137,7 +137,7 @@ static void mem_and(uint8_t *dest, const uint8_t *src, size_t n) >>>> # define ADDR_SHIFT 16 >>>> # include "nand.c" >>>> >>>> -/* Information based on Linux drivers/mtd/nand/nand_ids.c */ >>>> +/* Information based on Linux drivers/mtd/nand/raw/nand_ids.c */ >>>> static const struct { >>>> int size; >>>> int width; >>>> @@ -153,15 +153,14 @@ static const struct { >>>> [0xe8] = { 1, 8, 8, 4, 0 }, >>>> [0xec] = { 1, 8, 8, 4, 0 }, >>>> [0xea] = { 2, 8, 8, 4, 0 }, >>>> - [0xd5] = { 4, 8, 9, 4, 0 }, >>>> [0xe3] = { 4, 8, 9, 4, 0 }, >>>> [0xe5] = { 4, 8, 9, 4, 0 }, >>>> - [0xd6] = { 8, 8, 9, 4, 0 }, >>>> >>>> - [0x39] = { 8, 8, 9, 4, 0 }, >>>> - [0xe6] = { 8, 8, 9, 4, 0 }, >>>> - [0x49] = { 8, 16, 9, 4, NAND_BUSWIDTH_16 }, >>>> - [0x59] = { 8, 16, 9, 4, NAND_BUSWIDTH_16 }, >>>> + [0x6b] = { 4, 8, 9, 4, 0 }, >>>> + [0xe3] = { 4, 8, 9, 4, 0 }, >>>> + [0xe5] = { 4, 8, 9, 4, 0 }, >>>> + [0xd6] = { 8, 8, 9, 4, 0 }, >>>> + [0xe6] = { 8, 8, 9, 4, 0 }, >>>> >>>> [0x33] = { 16, 8, 9, 5, 0 }, >>>> [0x73] = { 16, 8, 9, 5, 0 }, >>>> >>> >> >
On 8/14/20 3:23 PM, Philippe Mathieu-Daudé wrote: > I forgot to Cc qemu-arm@, doing it now since most of the users > of this are ARM machines. The machine using this device are: - axis-dev88 - tosa (via tc6393xb_init) - spitz based (akita, borzoi, terrier) $ git grep nand_init hw/arm/spitz.c:223: s->nand = nand_init(nand ? blk_by_legacy_dinfo(nand) : NULL, hw/block/nand.c:641:DeviceState *nand_init(BlockBackend *blk, int manf_id, int chip_id) hw/cris/axis_dev88.c:278: nand_state.nand = nand_init(nand ? blk_by_legacy_dinfo(nand) : NULL, hw/display/tc6393xb.c:569: s->flash = nand_init(nand ? blk_by_legacy_dinfo(nand) : NULL, > > On 8/14/20 3:21 PM, Philippe Mathieu-Daudé wrote: >> This is the QEMU equivalent of this Linux commit (but 7 years later): >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f7025a43a9da2 >> >> The MTD subsystem has its own small museum of ancient NANDs >> in a form of the CONFIG_MTD_NAND_MUSEUM_IDS configuration option. >> The museum contains stone age NANDs with 256 bytes pages, as well >> as iron age NANDs with 512 bytes per page and up to 8MiB page size. >> >> It is with great sorrow that I inform you that the museum is being >> decommissioned. The MTD subsystem is out of budget for Kconfig >> options and already has too many of them, and there is a general >> kernel trend to simplify the configuration menu. >> >> We remove the stone age exhibits along with closing the museum, >> but some of the iron age ones are transferred to the regular NAND >> depot. Namely, only those which have unique device IDs are >> transferred, and the ones which have conflicting device IDs are >> removed. >> >> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> >> --- >> hw/block/nand.c | 13 ++++++------- >> 1 file changed, 6 insertions(+), 7 deletions(-) >> >> diff --git a/hw/block/nand.c b/hw/block/nand.c >> index 654e0cb5d1..7d7ccc9aa4 100644 >> --- a/hw/block/nand.c >> +++ b/hw/block/nand.c >> @@ -137,7 +137,7 @@ static void mem_and(uint8_t *dest, const uint8_t *src, size_t n) >> # define ADDR_SHIFT 16 >> # include "nand.c" >> >> -/* Information based on Linux drivers/mtd/nand/nand_ids.c */ >> +/* Information based on Linux drivers/mtd/nand/raw/nand_ids.c */ >> static const struct { >> int size; >> int width; >> @@ -153,15 +153,14 @@ static const struct { >> [0xe8] = { 1, 8, 8, 4, 0 }, >> [0xec] = { 1, 8, 8, 4, 0 }, >> [0xea] = { 2, 8, 8, 4, 0 }, >> - [0xd5] = { 4, 8, 9, 4, 0 }, >> [0xe3] = { 4, 8, 9, 4, 0 }, >> [0xe5] = { 4, 8, 9, 4, 0 }, >> - [0xd6] = { 8, 8, 9, 4, 0 }, >> >> - [0x39] = { 8, 8, 9, 4, 0 }, >> - [0xe6] = { 8, 8, 9, 4, 0 }, >> - [0x49] = { 8, 16, 9, 4, NAND_BUSWIDTH_16 }, >> - [0x59] = { 8, 16, 9, 4, NAND_BUSWIDTH_16 }, >> + [0x6b] = { 4, 8, 9, 4, 0 }, >> + [0xe3] = { 4, 8, 9, 4, 0 }, >> + [0xe5] = { 4, 8, 9, 4, 0 }, >> + [0xd6] = { 8, 8, 9, 4, 0 }, >> + [0xe6] = { 8, 8, 9, 4, 0 }, >> >> [0x33] = { 16, 8, 9, 5, 0 }, >> [0x73] = { 16, 8, 9, 5, 0 }, >> >
Patchew URL: https://patchew.org/QEMU/20200814132118.12450-1-f4bug@amsat.org/ Hi, This series failed the docker-quick@centos7 build test. Please find the testing commands and their output below. If you have Docker installed, you can probably reproduce it locally. === TEST SCRIPT BEGIN === #!/bin/bash make docker-image-centos7 V=1 NETWORK=1 time make docker-test-quick@centos7 SHOW_ENV=1 J=14 NETWORK=1 === TEST SCRIPT END === TEST check-unit: tests/test-char Unexpected error in object_property_try_add() at /tmp/qemu-test/src/qom/object.c:1181: attempt to add duplicate property 'serial-id' to object (type 'container') ERROR test-char - too few tests run (expected 38, got 9) make: *** [check-unit] Error 1 make: *** Waiting for unfinished jobs.... TEST iotest-qcow2: 024 TEST iotest-qcow2: 025 --- raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['sudo', '-n', 'docker', 'run', '--label', 'com.qemu.instance.uuid=fcbf9aaa3378436e89b400e6696ede90', '-u', '1001', '--security-opt', 'seccomp=unconfined', '--rm', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=14', '-e', 'DEBUG=', '-e', 'SHOW_ENV=1', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/home/patchew/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-2_l66xc7/src/docker-src.2020-08-14-10.10.03.16071:/var/tmp/qemu:z,ro', 'qemu/centos7', '/var/tmp/qemu/run', 'test-quick']' returned non-zero exit status 2. filter=--filter=label=com.qemu.instance.uuid=fcbf9aaa3378436e89b400e6696ede90 make[1]: *** [docker-run] Error 1 make[1]: Leaving directory `/var/tmp/patchew-tester-tmp-2_l66xc7/src' make: *** [docker-run-test-quick@centos7] Error 2 real 12m35.484s user 0m9.445s The full log is available at http://patchew.org/logs/20200814132118.12450-1-f4bug@amsat.org/testing.docker-quick@centos7/?type=message. --- Email generated automatically by Patchew [https://patchew.org/]. Please send your feedback to patchew-devel@redhat.com
On 8/14/20 4:22 PM, no-reply@patchew.org wrote: > Patchew URL: https://patchew.org/QEMU/20200814132118.12450-1-f4bug@amsat.org/ > Hi, > > This series failed the docker-quick@centos7 build test. Please find the testing commands and > their output below. If you have Docker installed, you can probably reproduce it > locally. > > === TEST SCRIPT BEGIN === > #!/bin/bash > make docker-image-centos7 V=1 NETWORK=1 > time make docker-test-quick@centos7 SHOW_ENV=1 J=14 NETWORK=1 > === TEST SCRIPT END === > > TEST check-unit: tests/test-char > Unexpected error in object_property_try_add() at /tmp/qemu-test/src/qom/object.c:1181: > attempt to add duplicate property 'serial-id' to object (type 'container') Unrelated, this is a bug Marc-André is tracking. > ERROR test-char - too few tests run (expected 38, got 9) > make: *** [check-unit] Error 1 > make: *** Waiting for unfinished jobs.... > TEST iotest-qcow2: 024 > TEST iotest-qcow2: 025
© 2016 - 2024 Red Hat, Inc.