Louis Watson | 23 Apr 20:53 2014
Picon

RE: Fat and Stream Implementation

Hi Phil,

 

                The MOSA does indeed use internal structs see https://github.com/mosa/MOSA-Project/blob/master/Source/Mosa.FileSystem/FAT/FatFileSystem.cs.

 

It’s those structs that keep the implementation clean.

               

 

From: Phil Garcia [mailto:phil-LfjDTmiWaXNl57MIdRCFDg@public.gmane.org]
Sent: 23 April 2014 17:40
To: Louis Watson
Subject: Re: Fat and Stream Implementation

 

Hi Louis -

 

I just want to make you aware of a working implementation with appropriate abstractions and interfaces. 

 

It's also completely managed code - no unsafe code.  There are also not structs as a result, plus MOSA compile had issues with structs. I believe COSMOS doesn't support it as well or is buggy, but not an authority. FAT's structures also change based on different versions of FAT: fat12, fat16 or fat32.

 

MOSA also uses it to build bootable virtual disks, ISO images, etc. with MOSA kernel from scratch. 

 

 


Sent from my iPhone


On Apr 23, 2014, at 8:22 AM, "Louis Watson" <lcr_watson-/E1597aS9LQAvxtiuMwx3w@public.gmane.org> wrote:

Those were the kind of changes I was talking about originally having defined structs for the listing headers etc lol.

 

That was how I imagined it when I read the spec.

 

Having it that way means clearer code etc.

 

I currently have the FatDirectory read its own listing when it gets instantiated and fills an array of listing base. It also has support for FAT32 non root dirs.

 

Right now I’m working on a AddListing method which is checking for free slots etc. and create a new entry, which can be called from the FatStream class for files and from a AddDir method of the directory class.

 

Is not much really for a full implementation.

 

From: Phil Garcia [mailto:phil-LfjDTmiWaXNl57MIdRCFDg@public.gmane.org]
Sent: 23 April 2014 15:54
To: lcr_watson-/E1597aS9LQAvxtiuMwx3w@public.gmane.org
Subject: Fat and Stream Implementation

 

FYI:

 

There is a working FAT implementation in C# from the MOSA project:

 

 

It's built up from devices, block devices, virtual file system and then FAT.

 

It uses interfaces extensively, which COSMOS does not support. However, the interfaces can be replaced with base classes instead.

 

It's all runnable and debuggable within Visual Studio using the existing Emulator:

 

 

If you have any questions, please let me know. I'm also on IRC (#mosa on irc.freenode.net) at night pacific time.

 

-Phil

 



__._,_.___

--------------------------------------------------
More things to join for Cosmos!

1) Cosmos chat room:
http://tinyurl.com/pc7bds

2) Please add yourself to the map:
http://tinyurl.com/qhttde

3) Help publicity and join our Facebook page:
http://tinyurl.com/plrloa

--------------------------------------------------






__,_._,___
Louis Watson | 23 Apr 11:29 2014
Picon

Fat and Stream Implementation

Hi all, Ok I see what is missing for write support (apart from the obvious call to the write method of the atapio class).

 

And to my mind raises a few things that need to be implemented.

 

I have an alternative way of doing it in my mind but rather than just say what it is and that it is better, I’ll write it separately test it and shelve it for approval under my user project before even attempting to integrate it fully.

 

My reasoning for this is NOT because I think the existing code is bad or necessarily needs to be replaced but rather for me to help my understanding.

 

But I think Chad will agree that some of the mechanics in the code need to be separated.

 

As for just adding write implementation the code as it stands needs:

 

a)      Some method of tracking the sector number of a directory (for updating its structure).

b)      A way to resolve paths to locate the correct directory and partition. (Not important for testing but crucial for useability).

c)       A method to create a new Fat Entry.

 

               



__._,_.___

--------------------------------------------------
More things to join for Cosmos!

1) Cosmos chat room:
http://tinyurl.com/pc7bds

2) Please add yourself to the map:
http://tinyurl.com/qhttde

3) Help publicity and join our Facebook page:
http://tinyurl.com/plrloa

--------------------------------------------------






__,_._,___
benjamin eedgar | 21 Apr 19:39 2014
Picon

Hey

Hey haven't been on here in a while. I have an encryption algorithm that's entirely csharp doesn't require any references (except for list but it can just be made into an array). Will just add something extra if youre interested give me a shout :) the encryption works perfect with cosmos just need to rewrite the decryption a bit to remove a few references. 

Sent from my Windows Phone


__._,_.___

--------------------------------------------------
More things to join for Cosmos!

1) Cosmos chat room:
http://tinyurl.com/pc7bds

2) Please add yourself to the map:
http://tinyurl.com/qhttde

3) Help publicity and join our Facebook page:
http://tinyurl.com/plrloa

--------------------------------------------------






__,_._,___
Louis Watson | 21 Apr 12:19 2014
Picon

RE: FAT Bug

Thanks Ill check that out tonight (off to work shortly).

Think I saw a plug on one its constructor overloads to prevent a call to threading.

That may have been on FileStream though.

I haven’t done much with plugs before although I setup a plug project last night.

I was thinking of creating a few test plugs later to get the feel J

 

From: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org [mailto:Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org] On Behalf Of Matthijs ter Woord
Sent: 21 April 2014 11:07
To: Cosmos-Dev
Subject: Re: [Cosmos-Dev] FAT Bug

 

 

Have a look in the output folder. there should be an HTML file, showing tracing info. It shows which method caused a given method to be included in the output.

What plugs are there for the stream?

 

2014-04-21 12:04 GMT+02:00 Louis Watson <lcr_watson-/E1597aS9LQAvxtiuMwx3w@public.gmane.org>:

 

Just something I noticed if I try to update FatStream to use longs (ie overloaded method as int version is inherited).

Compiler throws a wobbly saying it cant find the method after a successful build.

 

A few possibilities spring to mind:

 

Maybe an order problem with when compiler loads assemblies not being able to resolve method.

 

More likely I think IO.Stream is a special case as the kernel contains a _consolestream class that inherits from it.

 

It could just be IO.Stream needs more plugs!

 

In the mscorlib source Stream.Read(…. Is defined Stream.Read[In, Out](… but I have no idea if its relevant.

 

From: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org [mailto:Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org] On Behalf Of Matthijs ter Woord
Sent: 21 April 2014 08:17


To: Cosmos-Dev
Subject: RE: [Cosmos-Dev] FAT Bug

 

 

Awesome. Great work!

Chad, what's next for getting fat writing working?

Op 21 apr. 2014 00:39 schreef "Louis Watson" <lcr_watson <at> yahoo.com>:

 

Also note the partition write worked also as I allowed for an offset of 63 the block number of the partition and the data was there.

 

From: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org [mailto:Cosmos-Dev <at> yahoogroups.com] On Behalf Of Louis Watson
Sent: 20 April 2014 22:54
To: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org
Subject: RE: [Cosmos-Dev] FAT Bug

 

 

 

 

 

OK yeh finally I can confirm AtaPio works as expected. I ran a write with read check on my kernel and then lauched dsl.

 

Ran dd and opened with notepad blank file WTF? So I popped back in terminal and checked the output file with cat and the data was there so notepad does not like the padded output of dd!

 

From: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org [mailto:Cosmos-Dev <at> yahoogroups.com] On Behalf Of Louis Watson
Sent: 20 April 2014 22:33
To: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org
Subject: RE: [Cosmos-Dev] FAT Bug

 

 

Yeh my bad was using the partition loaded when the test outputted the listing to screen. Going to retry on atapio … I’ve been using block no 2097152 (1Gb / 512) to avoid any overwrites.

 

From: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org [mailto:Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org] On Behalf Of Matthijs ter Woord
Sent: 20 April 2014 22:16
To: Cosmos-Dev
Subject: RE: [Cosmos-Dev] FAT Bug

 

 

Atapio should be writing starting with offset 0, like did would do. Accessing using /dev/hdaX means you're accessing a partition. If doing that in DSL, you'd need to do so in cosmos as well. For testing though, best to test without partitioning first makes it easier to pinpoint issues....

Op 20 apr. 2014 23:11 schreef "Louis Watson" <lcr_watson-/E1597aS9LQAvxtiuMwx3w@public.gmane.org>:

 

If I run it on /dev/hda I get a block returned (only 1 drive connected dsl on cd)

If I try it on /dev/hda1 I get nothing since drive is not mounted.

This is whats making me believe its an offset issue as hda is the whole disk and I cant see anywhere whether dd is capable of reading the reserved space of a drive though I assume it is. I need to check the starting sector of the partition to verify.

 

From: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org [mailto:Cosmos-Dev <at> yahoogroups.com] On Behalf Of Matthijs ter Woord
Sent: 20 April 2014 20:46
To: Cosmos-Dev
Subject: RE: [Cosmos-Dev] FAT Bug

 

 

Probably me not remembering did parameters.. Should be easy to loom it up on the man pages or an online version of it.... :-)

Op 20 apr. 2014 21:41 schreef "Louis Watson" <lcr_watson-/E1597aS9LQAvxtiuMwx3w@public.gmane.org>:

 

This could be down to a difference in offset mind you dsl is correctly outputting a 512 byte block albeit empty.

 

Just re-ran kernel with write code disabled to confirm change has persisted to drive which it has.

 

 

From: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org [mailto:Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org] On Behalf Of Louis Watson
Sent: 20 April 2014 20:24
To: Cosmos-Dev <at> yahoogroups.com
Subject: RE: [Cosmos-Dev] FAT Bug

 

 

Ok after a few issues I got everything setup as I wanted it lol. I tested the Write using partition and successfully read it back via partition within the same test.

But no joy in dsl just brings back empty.

 

 

From: Cosmos-Dev <at> yahoogroups.com [mailto:Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org] On Behalf Of Louis Watson
Sent: 20 April 2014 16:54
To: Cosmos-Dev <at> yahoogroups.com
Subject: RE: [Cosmos-Dev] FAT Bug

 

 

Ahh ok that makes sense nice feature :D

 

From: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org [mailto:Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org] On Behalf Of Matthijs ter Woord
Sent: 20 April 2014 16:51
To: Cosmos-Dev
Subject: Re: [Cosmos-Dev] FAT Bug

 

 

Dsl can read raw partitions. WHen you mount you mount a raw partition (or even raw drive) using mount /mnt/mount-point /dev/device-node

if you dont monut, you can say dd if=/dev/device-node of=~/my-output bs=512 skip=10 count=1 to read the 10th block from the disk into file ~/my-output..

 

2014-04-20 17:49 GMT+02:00 Louis Watson <lcr_watson-/E1597aS9LQAvxtiuMwx3w@public.gmane.org>:

 

Yes, but I need to implement the write method of FatStream to verify it, else I won’t have a valid Fat entry for dsl to read.

 

From: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org [mailto:Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org] On Behalf Of Matthijs ter Woord
Sent: 20 April 2014 16:34


To: Cosmos-Dev
Subject: Re: [Cosmos-Dev] FAT Bug

 

 

First step is verifying if the ATA writing works..

 

2014-04-20 17:32 GMT+02:00 Louis Watson <lcr_watson-/E1597aS9LQAvxtiuMwx3w@public.gmane.org>:

 

Ok cool, I will in a few just got back from work. Going to spend some time brushing up my knowledge on Fat before I have a go at the write implementation.

 

From: Cosmos-Dev <at> yahoogroups.com [mailto:Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org] On Behalf Of Matthijs ter Woord
Sent: 20 April 2014 09:00
To: Cosmos-Dev


Subject: Re: [Cosmos-Dev] FAT Bug

 

 

I'd say commit it. Then test AtaPio writing with Fat. (ie, write a block with fake data, and use dsl with dd to verify that went ok..)

With dd you can read/write from/to block devices..

 

2014-04-19 23:42 GMT+02:00 Louis Watson <lcr_watson-/E1597aS9LQAvxtiuMwx3w@public.gmane.org>:

 

Shelved as 48BitPioUpdated To give everyone an overview of the changes and where I am with Fat being work in progress.

 

 

 

From: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org [mailto:Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org] On Behalf Of Louis Watson
Sent: 19 April 2014 22:25
To: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org


Subject: RE: [Cosmos-Dev] FAT Bug

 

 

Have not stopped there I’ve setup a folder in the users dir for my test kernel. Have updated the FatFile, FatFileSystem and FatStream to use longs and I can still read the drive fine.

 

I’ve purposefully not checked anything in in case anyone else wanted to update those now the bug has gone.

 

Without the Write implementation though I can’t test the changes fully.

 

Also a note when mounting in dsl make sure to set the umask argument.

 

Think I’m ready to re-shelve now in a few…

 

 

 

From: Cosmos-Dev <at> yahoogroups.com [mailto:Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org] On Behalf Of Matthijs ter Woord
Sent: 19 April 2014 22:02
To: Cosmos-Dev
Subject: RE: [Cosmos-Dev] FAT Bug

 

 

I'd say we should assume the old bug got fixed. Next step is moving forward with fat implementation! (?)

Op 19 apr. 2014 21:56 schreef "Louis Watson" <lcr_watson-/E1597aS9LQAvxtiuMwx3w@public.gmane.org>:

 

Fyi there is an overload of Array.Copy(sourcearray, long startindex, destarray, long startindex, long count) that can be used avoiding the cast down to int and works as expected.

 

From: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org [mailto:Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org] On Behalf Of Chad Z. Hower aka Kudzu
Sent: 19 April 2014 20:12
To: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org
Subject: Re: [Cosmos-Dev] FAT Bug

 

 

On 4/19/2014 2:55 PM, Louis Watson wrote:
> Ok I have reproduced the error but it relates specifically to the Write
> procedure of the stream class flagging a native code error for
> nativemethods setendoffile.
>
> If I don’t try to execute Write on a Fat FileStream I don’t get the error.

Thats not the same error, but it needs fixed too. I only implemented
writing fully.

 

 

 

 

 

 

 

 

 

 

 

 



__._,_.___


--------------------------------------------------
More things to join for Cosmos!

1) Cosmos chat room:
http://tinyurl.com/pc7bds

2) Please add yourself to the map:
http://tinyurl.com/qhttde

3) Help publicity and join our Facebook page:
http://tinyurl.com/plrloa

--------------------------------------------------






__,_._,___
Louis Watson | 20 Apr 17:49 2014
Picon

RE: FAT Bug

Yes, but I need to implement the write method of FatStream to verify it, else I won’t have a valid Fat entry for dsl to read.

 

From: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org [mailto:Cosmos-Dev <at> yahoogroups.com] On Behalf Of Matthijs ter Woord
Sent: 20 April 2014 16:34
To: Cosmos-Dev
Subject: Re: [Cosmos-Dev] FAT Bug

 

 

First step is verifying if the ATA writing works..

 

2014-04-20 17:32 GMT+02:00 Louis Watson <lcr_watson-/E1597aS9LQAvxtiuMwx3w@public.gmane.org>:

 

Ok cool, I will in a few just got back from work. Going to spend some time brushing up my knowledge on Fat before I have a go at the write implementation.

 

From: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org [mailto:Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org] On Behalf Of Matthijs ter Woord
Sent: 20 April 2014 09:00
To: Cosmos-Dev


Subject: Re: [Cosmos-Dev] FAT Bug

 

 

I'd say commit it. Then test AtaPio writing with Fat. (ie, write a block with fake data, and use dsl with dd to verify that went ok..)

With dd you can read/write from/to block devices..

 

2014-04-19 23:42 GMT+02:00 Louis Watson <lcr_watson-/E1597aS9LQAvxtiuMwx3w@public.gmane.org>:

 

Shelved as 48BitPioUpdated To give everyone an overview of the changes and where I am with Fat being work in progress.

 

 

 

From: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org [mailto:Cosmos-Dev <at> yahoogroups.com] On Behalf Of Louis Watson
Sent: 19 April 2014 22:25
To: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org


Subject: RE: [Cosmos-Dev] FAT Bug

 

 

Have not stopped there I’ve setup a folder in the users dir for my test kernel. Have updated the FatFile, FatFileSystem and FatStream to use longs and I can still read the drive fine.

 

I’ve purposefully not checked anything in in case anyone else wanted to update those now the bug has gone.

 

Without the Write implementation though I can’t test the changes fully.

 

Also a note when mounting in dsl make sure to set the umask argument.

 

Think I’m ready to re-shelve now in a few…

 

 

 

From: Cosmos-Dev-hHKSG33Tihh9OS/SkqAIkg@public.gmane.orgm [mailto:Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org] On Behalf Of Matthijs ter Woord
Sent: 19 April 2014 22:02
To: Cosmos-Dev
Subject: RE: [Cosmos-Dev] FAT Bug

 

 

I'd say we should assume the old bug got fixed. Next step is moving forward with fat implementation! (?)

Op 19 apr. 2014 21:56 schreef "Louis Watson" <lcr_watson-/E1597aS9LQAvxtiuMwx3w@public.gmane.org>:

 

Fyi there is an overload of Array.Copy(sourcearray, long startindex, destarray, long startindex, long count) that can be used avoiding the cast down to int and works as expected.

 

From: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org [mailto:Cosmos-Dev <at> yahoogroups.com] On Behalf Of Chad Z. Hower aka Kudzu
Sent: 19 April 2014 20:12
To: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org
Subject: Re: [Cosmos-Dev] FAT Bug

 

 

On 4/19/2014 2:55 PM, Louis Watson wrote:
> Ok I have reproduced the error but it relates specifically to the Write
> procedure of the stream class flagging a native code error for
> nativemethods setendoffile.
>
> If I don’t try to execute Write on a Fat FileStream I don’t get the error.

Thats not the same error, but it needs fixed too. I only implemented
writing fully.

 

 

 

 

 



__._,_.___


--------------------------------------------------
More things to join for Cosmos!

1) Cosmos chat room:
http://tinyurl.com/pc7bds

2) Please add yourself to the map:
http://tinyurl.com/qhttde

3) Help publicity and join our Facebook page:
http://tinyurl.com/plrloa

--------------------------------------------------






__,_._,___
Louis Watson | 19 Apr 21:56 2014
Picon

RE: FAT Bug

Fyi there is an overload of Array.Copy(sourcearray, long startindex, destarray, long startindex, long count) that can be used avoiding the cast down to int and works as expected.

 

From: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org [mailto:Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org] On Behalf Of Chad Z. Hower aka Kudzu
Sent: 19 April 2014 20:12
To: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org
Subject: Re: [Cosmos-Dev] FAT Bug

 

 

On 4/19/2014 2:55 PM, Louis Watson wrote:
> Ok I have reproduced the error but it relates specifically to the Write
> procedure of the stream class flagging a native code error for
> nativemethods setendoffile.
>
> If I don’t try to execute Write on a Fat FileStream I don’t get the error.

Thats not the same error, but it needs fixed too. I only implemented
writing fully.



__._,_.___


--------------------------------------------------
More things to join for Cosmos!

1) Cosmos chat room:
http://tinyurl.com/pc7bds

2) Please add yourself to the map:
http://tinyurl.com/qhttde

3) Help publicity and join our Facebook page:
http://tinyurl.com/plrloa

--------------------------------------------------






__,_._,___
Chad Z. Hower aka Kudzu | 19 Apr 16:33 2014

Re: FAT Bug

On 4/19/2014 8:17 AM, Louis Watson wrote:
> For testing I used an exact copy of Chad’s TestAta routine from his
> breakpoints kernel.

It sounds like someone fixed the compiler bug along the way then...

------------------------------------

--------------------------------------------------
More things to join for Cosmos!

1) Cosmos chat room:
http://tinyurl.com/pc7bds

2) Please add yourself to the map:
http://tinyurl.com/qhttde

3) Help publicity and join our Facebook page:
http://tinyurl.com/plrloa

--------------------------------------------------

Yahoo Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/Cosmos-Dev/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/Cosmos-Dev/join
    (Yahoo! ID required)

<*> To change settings via email:
    Cosmos-Dev-digest@... 
    Cosmos-Dev-fullfeatured@...

<*> To unsubscribe from this group, send an email to:
    Cosmos-Dev-unsubscribe@...

<*> Your use of Yahoo Groups is subject to:
    https://info.yahoo.com/legal/us/yahoo/utos/terms/

Louis Watson | 19 Apr 16:26 2014
Picon

RE: FAT Bug

Ok have a stupid question I have dsl setup running off qemu fine but I haven’t had to mount a drive for a while and wanted to check what I am missing. I changed the config to start qemu with a second drive using command line  -hdb FileSystem.vmdk which is detected fine but I’m not sure how to mount it

 

From: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org [mailto:Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org] On Behalf Of Louis Watson
Sent: 19 April 2014 13:17
To: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org
Subject: RE: [Cosmos-Dev] FAT Bug

 

 

 

Ok sorry I’m not quite sure I understand you. The changes I made were not reformats unless your referring to the changes of int32 to int64 in the blockdevice which was required to allow for a larger sector count. This is also why I left the FAT etc alone, I just utilised what was already there, apart from LBA48Bit which is needed to check the correct mode. I used the Atapio article on osdev and the LBA hdd article on osdever as reference.

 

For testing I used an exact copy of Chad’s TestAta routine from his breakpoints kernel.

 

When testing I used a 512GB vmware drive to ensure 48 Bit is enabled and it correctly reports the size still. Though I have not tested using read and write block using an offset larger than 128GB.

 

 

From: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org [mailto:Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org] On Behalf Of Matthijs ter Woord
Sent: 19 April 2014 11:58
To: Cosmos-Dev
Subject: Re: [Cosmos-Dev] FAT Bug

 

 

Shelveset seems ok. You tested it i guess?

Please try to not do reformats of the code, and mix those changes with functional changes...

We don't have 1 coding style, but let the main maintainer (FAT/AtaPio is done mainly by chad) decide on code style and others are supposed to adhere to that style...

 

2014-04-19 5:15 GMT+02:00 Louis Watson <lcr_watson-/E1597aS9LQAvxtiuMwx3w@public.gmane.org>:

 

I have created a shelveset called 48BitPIO for you to look at.

 

From: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org [mailto:Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org] On Behalf Of Louis Watson
Sent: 19 April 2014 03:44


To: Cosmos-Dev <at> yahoogroups.com
Subject: RE: [Cosmos-Dev] FAT Bug

 

 

Chad I think I may have the solution to the problem I’ve updated the blockdevice and the atapio classes to a) accept uint64 as sector count b) read 48 Bit PIO (on a local source copy).

 

Your TestATA routine works as expected with a 512GB drive.

 

ReadBlock and WriteBlock still need to be tested though.

 

From: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org [mailto:Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org] On Behalf Of Chad Z. Hower aka Kudzu
Sent: 18 April 2014 18:04
To: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org
Subject: Re: [Cosmos-Dev] FAT Bug

 

 

On 4/18/2014 9:10 AM, Louis Watson wrote:
> Ok source control is not one of my strong points lol I got tfs setup
> correctly finally.
>
> I found a bug where the builder could not detect my vs install dir as I
> used a custom setup.
>
> I’ve fixed this by adding a VSInstall field to the Paths class of the
> installer project and updated cosmos task to access it.
>
> I have shelved the changes on the two files do I then check them in?

This change has a low chance of external impact, so go ahead and check
it in.

 

 



__._,_.___


--------------------------------------------------
More things to join for Cosmos!

1) Cosmos chat room:
http://tinyurl.com/pc7bds

2) Please add yourself to the map:
http://tinyurl.com/qhttde

3) Help publicity and join our Facebook page:
http://tinyurl.com/plrloa

--------------------------------------------------






__,_._,___
Louis Watson | 16 Apr 20:25 2014
Picon

FAT Bug

Man that’s been a long day never mind another dollar ;)

 

Ok so I loaded up Breakpoints kernel to test the filesystem, which is working as expected  and showing me the contents of the iso after executing TestATA.

 

Could I have some more info on the bug please since I cannot seem to find anything on CodePlex.

 

Btw am on irc as well atm.

 

From: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org [mailto:Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org] On Behalf Of Matthijs ter Woord
Sent: 16 April 2014 07:15
To: Cosmos-Dev
Subject: Re: [Cosmos-Dev] Multi-Dimensional Array Issue.

 

 

Multidimensional arrays is not working. Like you said, jagged arrays work fine as a work around, and give other positive possibilities as well.

Would you be interested in diving into the current compiler bug, which blocks the FAT implementation Chad's been working on?

 

2014-04-16 5:36 GMT+02:00 Louis Watson <lcr_watson-/E1597aS9LQAvxtiuMwx3w@public.gmane.org>:

 

I investigated this further and found that this is due to the following situation.

 

Int[] array = new int[1]; Instead of calling Array.CreateInstance(Type,  1) is inlined by csc to use arrnew OpCode.

 

but int[,] array = new int[1, 1] calls Array.CreateInstance which in turn calls mscorlib.

 

Suggested Workaround:

 

List<int[]> list = new List<int[]>(1);

list.Add(new int[1]);

 

Access element using list[0][0].

 

Have tested this in a kernel and works as expected.

 

Most Likely Resolution:

 

Plugging Array.CreateInstance would obviously need to be done but Compiler MAY need to include a check for type names containing [0…,0…] as emitted by csc.exe and replacing it with [,] to correctly identify the type on build.

 

Also means Array methods including GetValue and SetValue  would need to be updated to support multi dimensions.

 

 

From: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org [mailto:Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org] On Behalf Of Louis Watson
Sent: 15 April 2014 22:14
To: Cosmos-Dev-hHKSG33TihhbjbujkaE4pw@public.gmane.org
Subject: [Cosmos-Dev] Multi-Dimensional Array Issue.

 



__._,_.___


--------------------------------------------------
More things to join for Cosmos!

1) Cosmos chat room:
http://tinyurl.com/pc7bds

2) Please add yourself to the map:
http://tinyurl.com/qhttde

3) Help publicity and join our Facebook page:
http://tinyurl.com/plrloa

--------------------------------------------------






__,_._,___
Louis Watson | 15 Apr 23:13 2014
Picon

Multi-Dimensional Array Issue.

Looks like it relates to [This active issue](https://connect.microsoft.com/VisualStudio/feedback/details/472621/reflection-emit-produces-invalid-siagnatures-of-methods-with-multidimensional-arrays#)



__._,_.___

--------------------------------------------------
More things to join for Cosmos!

1) Cosmos chat room:
http://tinyurl.com/pc7bds

2) Please add yourself to the map:
http://tinyurl.com/qhttde

3) Help publicity and join our Facebook page:
http://tinyurl.com/plrloa

--------------------------------------------------






__,_._,___
trivalik | 14 Apr 20:19 2014
Picon

VMware lib guid

I want to check by you if the GUID in registry is existing, I want to add check for this key to prevent COM exception.
HKEY_CLASSES_ROOT\CLSID\{6874E949-7186-4308-A1B9-D55A91F60728}


__._,_.___

--------------------------------------------------
More things to join for Cosmos!

1) Cosmos chat room:
http://tinyurl.com/pc7bds

2) Please add yourself to the map:
http://tinyurl.com/qhttde

3) Help publicity and join our Facebook page:
http://tinyurl.com/plrloa

--------------------------------------------------






__,_._,___

Gmane