[GSoC 2018: SDHCI MMC Driver]: Second Phase Outline

Blog post by krish_iyer on Thu, 2018-06-14 11:51

Hey, folks! So we are at the end of first phase of the project and I had expected that I would be able to implement PIO but it seems that I have lagged a bit. Till now we have got our controller driver setting up the mmc bus and mmc disk driver to publish a slot. To implement PIO before DMA, also requires register mapping which we are currently working on. We tried it though but didn’t turn out well.

[GSoC 2018 - TrackGit] Progress Report 6

Blog post by hrily on Mon, 2018-06-11 19:10

This is the sixth progress report for TrackGit project. I did the following in last week.

Addressed Stephen’s comments

My mentor Stephen had put up few comments on my commits so far. I addressed them earlier this week. You can have a look at the comments thread here and here.

Made clone process threaded

The initial implementation of clone was blocking the UI thread. I used the pthread library to make the clone processes threaded. Now the clone command does not block UI.

[GSoC 2018: SDHCI MMC Driver]: Week #5

Blog post by krish_iyer on Mon, 2018-06-11 18:34

Hey, here I am with another update! Last time I mentioned about splitting up the module but due to time constraint we agreed to skip that currently and move forward. After setting up the bus, I thought it would be bus manager which needs to be setted up for data transfer and other read and write operations but it turns out to few things which need to be done before that and it’s actually not the bus manager who do these operations, it will just create an instance of the interrupts and the operations to be done, and call back after it’s done. I was referring to virtio subsystem’s driver layout so wasn’t able to notice a difference between virtio and sdhc and i.e there are slots that needs to be attached to the bus(MMC bus) unlike in virtio where devices are attached.

Haiku monthly activity report - 05/2018 (ft. LibreOffice!)

Blog post by waddlesplash on Wed, 2018-06-06 17:51

Welcome to the fifth monthly report for 2018! … Yes, I know, PulkoMandy usually does these. But he’s got WebKit fixes to do, and not much spare time, so this month at least he gets a break while I cover for him.

This report covers hrev51922-hrev51985.

Applications

PulkoMandy merged a bunch more changes from upstream WebKit and updated the version in the nightly builds. It’s a little unstable at present as a result (though he has some fixes coming soon.) YouTube is unfortunately also broken, though this is due to YouTube serving videos differently than before, which we don’t handle correctly yet. (It works properly in some of the Qt browsers that are in HaikuDepot…)

[GSoC 2018: XFS support] Week #6

Blog post by abx1 on Tue, 2018-06-05 13:48

Hey folks,

After implementing the superblock structure, my next task was to get the identify_partition hook working. I implemented dummy hooks (xfs_identify_parition, xfs_scan_partition) which logs some keyword so that I can trace how it’s working and in what order hooks are being called. I didn’t focus on mount hook at this point. While building I was getting the segmentation fault and wasn’t able to proceed. Adrien suggested to use GDB and try to debug and see what wrong. From the xfs_shell commands, it was clear that the xfs_shell binary was located at [/haiku/haiku/generated.x86_64/objects/linux/x86_64/release/tools/xfs_shell]. This way was to run the xfs_shell in GDB:

[GSoC 2018 - TrackGit] Progress Report 5

Blog post by hrily on Mon, 2018-06-04 20:02

This is the fifth progress report for TrackGit project. I did the following in last week.

Status Test

Added test for status command. Link to commit.

Status window

Previously, the status was shown in a BAlert. This was not good if the status text was long. So, I implemented a Status window with scrollable text view. Link to Commit.

Implemented TrackGit Application

The major change in the TrackGit till now is the implementation of TrackGit Application. Previously whenevere user clicked on same option twice, say status, then two windows were opened, even if repo for checking status was same.

[GSoC 2018: SDHCI MMC Driver]: Week #4

Blog post by krish_iyer on Sun, 2018-06-03 21:11

Hey everyone! here I am with another update. Last time I had concluded-“PCI class is not discoverable to device manager”, it was actally a bit wrong. So korli explained that device manager won’t load a driver which system doesn’t know so in order for device manager to consider sdhci bus device, it has to be added under a condition of the devices of same type. So we added it under “disk”. With that he also committed PoC which came out to be very useful but still I took sometime to really understand it.

[GSoC 2018: XFS support] Week #3, #4 and #5

Blog post by abx1 on Mon, 2018-05-28 22:19

Hey everyone,

I was not able to put in complete effort into GSoC, as I was having exams in my University during the past few weeks. I’ll be regular with the updates starting with this one.

I was encountering issues related to header files and xfs_shell wasn’t bulding properly. It was the problem in JamFile that FS_SHELL wasn’t added as an additional define. Doing so made sure that fs-shell wrappers are properly loaded.

[GSoC 2018: SDHCI MMC Driver]: Week #3

Blog post by krish_iyer on Mon, 2018-05-28 20:35

Sorry folks! for the delay in the updates. I was pretty much occupied by end term exams. After initial setup, we divided the our initial plan in following steps.

  • Discover PCI bus
  • Filter out SDHC device from the connected devices on the bus.
  • Register the device as the child node.

As I was able to load the driver, it exited in between somewhere from the supports_device(). So I broke the conditions where it checks for the bus, device ID and vendor ID, in order to see where exactly it was not satisfying the condition. I also printed bus value, we got to know that the driver was not able to access PCI bus and it’s hidden by default. To enable it we need to mention the bus manager(“mmc”:location://src/add-ons/kernel/busses/mmc) path in the device manager(location://src/system/kernel/device_manager/device_manager.cpp) where few more busses’s paths were hardcoded.

[GSoC 2018 - TrackGit] Progress Report 4

Blog post by hrily on Mon, 2018-05-28 18:18

This is the fourth progress report for TrackGit project. I did the following in last week.

Status Command

I implemented the status command. This will pop up a window showing status of the current repository. This menu item will be shown only when the current directory is in some repo path.

The following screenshot shows the Status Window:

Status-Window

Solved a bug in Status

While implementing Status commmand, I ran into a bug which took some of my time. But I was able to solve it with the help of Haiku Debugger.