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.
This is the sixth progress report for TrackGit project. I did the following in last week.
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.
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.
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…)
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:
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.
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.
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.
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.
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:

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.