From: Geoff Levand <geoffrey.levand@am.sony.com>
To: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Cc: linuxppc-dev@ozlabs.org, paulus@samba.org
Subject: Re: [patch 6/6] PS3: Add os-area database routines
Date: Mon, 08 Oct 2007 18:08:27 -0700 [thread overview]
Message-ID: <470AD48B.5060102@am.sony.com> (raw)
In-Reply-To: <Pine.LNX.4.62.0710081019030.21197@pademelon.sonytel.be>
Geert Uytterhoeven wrote:
> On Sat, 6 Oct 2007 geoffrey.levand@am.sony.com wrote:
>> --- a/arch/powerpc/platforms/ps3/os-area.c
>> +++ b/arch/powerpc/platforms/ps3/os-area.c
>> @@ -112,10 +114,91 @@ struct os_area_params {
>> u8 _reserved_5[8];
>> };
>>
>> +/**
>> + * struct os_area_db - Shared flash memory database.
>> + * @magic_num: Always '-db-' = 0x2d64622d.
> ^^^^^^^^^^
> #define?
Well, this is a comment, and when debugging it is handy to
know the value.
>> @@ -242,6 +325,303 @@ static int __init verify_header(const st
>> return 0;
>> }
>>
>> +static int db_verify(const struct os_area_db *db)
>> +{
>> + if (db->magic_num != 0x2d64622dU) {
> ^^^^^^^^^^^
> #define?
Sure, it is OK here.
>> +static void os_area_db_init(struct os_area_db *db)
>> +{
>> + /*
>> + * item | start | size
>> + * ----------+-------+-------
>> + * header | 0 | 24
>> + * index_64 | 24 | 64
>> + * values_64 | 88 | 57*8 = 456
>> + * index_32 | 544 | 64
>> + * values_32 | 609 | 57*4 = 228
>> + * index_16 | 836 | 64
>> + * values_16 | 900 | 57*2 = 114
>> + * end | 1014 | -
>> + */
>
> Lots of #defines and calculations?
OK.
>> +
>> + memset(db, 0, sizeof(struct os_area_db));
>> +
>> + db->magic_num = 0x2d64622dU;
> ^^^^^^^^^^^
> #define?
>
>> + db->version = 1;
>> + db->index_64 = 24;
> ^^
>> + db->count_64 = 57;
> ^^
>> + db->index_32 = 544;
> ^^^
>> + db->count_32 = 57;
> ^^
>> + db->index_16 = 836;
> ^^^
>> + db->count_16 = 57;
> ^^
> #defines?
>
>> +static void update_flash_db(void)
>> +{
>> + int result;
>> + int file;
>> + off_t offset;
>> + ssize_t count;
>> + static const unsigned int buf_len = 8 * OS_AREA_SEGMENT_SIZE;
>> + const struct os_area_header *header;
>> + struct os_area_db* db;
>> +
>> + /* Read in header and db from flash. */
>> +
>> + file = sys_open("/dev/ps3flash", O_RDWR, 0);
>
> Ah, file operations from kernel space...
Yes. I was thinking we could make an interface to the flash driver.
>> @@ -264,6 +644,9 @@ static void os_area_queue_work_handler(s
>> pr_debug("%s:%d of_find_node_by_path failed\n",
>> __func__, __LINE__);
>>
>> +#if defined(CONFIG_PS3_FLASH) || defined(CONFIG_PS3_FLASH_MODULE)
>> + update_flash_db();
>> +#endif
>
> Is this #ifdef needed? You don't reference ps3flash symbols directly, only by
> opening /dev/ps3flash. If you always call update_flash_db(), you can print an
> error message and the user will notice things haven't been written to flash.
My thinking was that the file I/O code would be removed by the optimizer
when not needed. I added a message.
next prev parent reply other threads:[~2007-10-09 1:08 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-06 21:35 [patch 0/6] PS3 os area patches for 2.6.24 geoffrey.levand
2007-10-06 21:35 ` [patch 1/6] PS3: Cleanup of os-area.c geoffrey.levand
2007-10-06 21:35 ` [patch 2/6] PS3: Remove unused os-area params geoffrey.levand
2007-10-08 14:00 ` Ranulf Doswell
2007-10-08 17:53 ` Geoff Levand
2007-10-08 22:38 ` Ranulf Doswell
2007-10-08 22:50 ` Geoff Levand
2007-10-06 21:35 ` [patch 3/6] PS3: os-area workqueue processing geoffrey.levand
2007-10-06 21:35 ` [patch 4/6] PS3: Add os-area rtc_diff set/get routines geoffrey.levand
2007-10-06 21:35 ` [patch 5/6] PS3: Save os-area params to device tree geoffrey.levand
2007-10-06 21:35 ` [patch 6/6] PS3: Add os-area database routines geoffrey.levand
2007-10-08 8:27 ` Geert Uytterhoeven
2007-10-09 1:08 ` Geoff Levand [this message]
2007-10-08 12:16 ` Geert Uytterhoeven
2007-10-09 1:12 ` Geoff Levand
2007-10-08 13:48 ` Ranulf Doswell
2007-10-08 17:52 ` Geoff Levand
2007-10-08 22:59 ` Ranulf Doswell
2007-10-08 23:36 ` Geoff Levand
2007-10-09 9:35 ` Geert Uytterhoeven
2007-10-09 12:23 ` Ranulf Doswell
2007-10-09 1:07 ` [patch v2] " Geoff Levand
2007-10-09 11:38 ` Geert Uytterhoeven
2007-10-09 17:15 ` Linas Vepstas
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=470AD48B.5060102@am.sony.com \
--to=geoffrey.levand@am.sony.com \
--cc=Geert.Uytterhoeven@sonycom.com \
--cc=linuxppc-dev@ozlabs.org \
--cc=paulus@samba.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.