Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kernel Config for the IDE controller in gem5 #160

Open
pfotouhi opened this issue Aug 23, 2019 · 4 comments
Open

Kernel Config for the IDE controller in gem5 #160

pfotouhi opened this issue Aug 23, 2019 · 4 comments

Comments

@pfotouhi
Copy link
Contributor

pfotouhi commented Aug 23, 2019

Looking at the golden K-config from Jason, we have "ATA/ATAPI/MFM/RLL support (DEPRECATED)" under Device Drivers.
In gem5, we always set the root for our kernel to hda1 (i.e. root=/dev/hda1 in kernel boot options). However, using K-configs NOT based on Jason's, we would need to set to set the root to sda1 as kernel would use different driver code to detect the storage. In my experiments, I had issues with my file-systems and thought part of it can be related to this. So I narrowed down the K-configs and realized we need the following to have the kernel working with hda1 as root.

  • IDE
  • IDE_GENERIC
  • IDE_GD_ATA
  • BLK_DEV_PLATFORM
  • IDEPCI_PCIBUS_ORDER
  • BLK_DEV_GENERIC

The impact on correctness (with sda1 as root) should be tested and reported.

@powerjg
Copy link
Member

powerjg commented Aug 23, 2019

What support is needed for sda1? Should the configs simply remove the ATA/ATAPI/MFM/RLL option?

@pfotouhi
Copy link
Contributor Author

If we keep them (those I've listed), our kernel would detect the disk behind out IDE controller as hda1. Without those configs (as is the case in newer kernels), it detects it as sda1.

I am not sure if it creates issues with functionality (and if we need to add more support for sda). To confirm, I need to run a few tests (with movntq/movntdq implemented) and report back.

@powerjg
Copy link
Member

powerjg commented Aug 23, 2019

I could have been more clear :).

I was about to run some tests myself, and I was wondering how I should change the config. Do you suggest I remove that list of drivers and test? Or, could you upload the config file you'd like to test to this issue?

@pfotouhi
Copy link
Contributor Author

:)

Yes, If you remove "ATA/ATAPI/MFM/RLL support" you will be getting the kernel error to set root as sda (assuming that you have other necessary drivers there - which is most likely the case).

Just to be safe, I'm attaching the config files I used - which is basically the config file that is shipped with Ubuntu 18.04 server (for kernel 4.15.0-45-generic - config.4.15.0-45-generic.TXT) plus running "yes "" | make oldconfig" on it (for kernel 4.15.18 - config.4.15.18.TXT).

Just for reference, and possibly testing purposes, I'm also attaching the config I am currently using (which I can boot kernel and finish system.d init, under timing CPU) which adds IDE configs I mentioned earlier on top of config.4.15.18 (config.4.15.18_PLUS_IDE.TXT).

P.S. I had to add ".TXT" to make git happy for attachments.

kaustav-goswami pushed a commit that referenced this issue Oct 31, 2023
This adds a matrix to the weekly tests in order to make the file
cleaner.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants