Page MenuHomeFreeBSD

Exclude MMCCAM kernels from make universe
ClosedPublic

Authored by mjg on Feb 8 2023, 10:04 PM.
Tags
None
Referenced Files
Unknown Object (File)
May 7 2024, 12:44 PM
Unknown Object (File)
May 2 2024, 5:01 AM
Unknown Object (File)
Apr 28 2024, 11:28 PM
Unknown Object (File)
Apr 25 2024, 7:34 PM
Unknown Object (File)
Apr 25 2024, 7:34 PM
Unknown Object (File)
Dec 20 2023, 6:18 AM
Unknown Object (File)
Aug 6 2023, 10:21 PM
Unknown Object (File)
Aug 6 2023, 10:21 PM
Subscribers

Details

Summary
 They don't provide any value and are quite arbitrary.

Note arm64 GENERIC-MMCCAM was already excluded, just not the NODEBUG
variant.

The option is already build-tested with arm64 LINT kernel.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

mjg requested review of this revision.Feb 8 2023, 10:04 PM

I don't think that it's true that they don't provide any value, the code path for mmccam is compile tested that way.
I'm fine for removing some if really you insist but at least one should stay.

is this not tested by LINT?

In D38458#875333, @mjg wrote:

is this not tested by LINT?

it looks to be in sys/arm64/conf/NOTES... I'd think that would be enough to test it... It might be a good idea to leave the 32-bit arm one enabled, but I'm agnostic on that since I know we have a lot of arm kernels.

huh.

diff --git a/sys/dev/sdhci/sdhci.c b/sys/dev/sdhci/sdhci.c
index a7283e66df31..1f71f7eba341 100644
--- a/sys/dev/sdhci/sdhci.c
+++ b/sys/dev/sdhci/sdhci.c
@@ -121,6 +121,7 @@ static void sdhci_write_block_pio(struct sdhci_slot *slot);
 static void sdhci_transfer_pio(struct sdhci_slot *slot);
 
 #ifdef MMCCAM
+#error set
 /* CAM-related */
 static void sdhci_cam_action(struct cam_sim *sim, union ccb *ccb);
 static int sdhci_cam_get_possible_host_clock(const struct sdhci_slot *slot,
@@ -129,6 +130,8 @@ static void sdhci_cam_poll(struct cam_sim *sim);
 static int sdhci_cam_request(struct sdhci_slot *slot, union ccb *ccb);
 static int sdhci_cam_settran_settings(struct sdhci_slot *slot, union ccb *ccb);
 static int sdhci_cam_update_ios(struct sdhci_slot *slot);
+#else
+#error not set
 #endif
 
 /* helper routines */

make -s -j 40 buildkernel TARGET_ARCH=armv7 KERNCONF=LINT
/tank/users/mjg/src/freebsd/sys/dev/sdhci/sdhci.c:134:2: error: not set
#error not set

now that's a bummer.

In that case I concede one kernel which uses it should be left.

I don't care which one.

Just tell me which one to keep (the 32-bit?) and accept, then I'll commit only the other two.

In D38458#875349, @mjg wrote:

huh.

diff --git a/sys/dev/sdhci/sdhci.c b/sys/dev/sdhci/sdhci.c
index a7283e66df31..1f71f7eba341 100644
--- a/sys/dev/sdhci/sdhci.c
+++ b/sys/dev/sdhci/sdhci.c
@@ -121,6 +121,7 @@ static void sdhci_write_block_pio(struct sdhci_slot *slot);
 static void sdhci_transfer_pio(struct sdhci_slot *slot);
 
 #ifdef MMCCAM
+#error set
 /* CAM-related */
 static void sdhci_cam_action(struct cam_sim *sim, union ccb *ccb);
 static int sdhci_cam_get_possible_host_clock(const struct sdhci_slot *slot,
@@ -129,6 +130,8 @@ static void sdhci_cam_poll(struct cam_sim *sim);
 static int sdhci_cam_request(struct sdhci_slot *slot, union ccb *ccb);
 static int sdhci_cam_settran_settings(struct sdhci_slot *slot, union ccb *ccb);
 static int sdhci_cam_update_ios(struct sdhci_slot *slot);
+#else
+#error not set
 #endif
 
 /* helper routines */

make -s -j 40 buildkernel TARGET_ARCH=armv7 KERNCONF=LINT
/tank/users/mjg/src/freebsd/sys/dev/sdhci/sdhci.c:134:2: error: not set
#error not set

now that's a bummer.

In that case I concede one kernel which uses it should be left.

I don't care which one.

Just tell me which one to keep (the 32-bit?) and accept, then I'll commit only the other two.

I think that it would be better to remove all the ones from you review from universe and add the arm64 one to it (it's more used on arm64 than armv7)

mjg retitled this revision from Exclude MMCCAM kernels from make universe to Sort out MMCCAM kernels vs make universe.
mjg edited the summary of this revision. (Show Details)

So I'm good with the added NO_UNIVERSE tags...
We might be able to not remove the one I flagged, but I'm good either way...

sys/arm64/conf/GENERIC-MMCCAM
9 ↗(On Diff #116920)

LINT already has MMCCAM in it, so I don't think we need to remove this unless there's something I'm missing.

sys/arm64/conf/NOTES:options		MMCCAM
This revision is now accepted and ready to land.Feb 10 2023, 3:12 AM

So I tested all the archs.

armv7 and amd64 don't have MMCCAM in LINT, but arm64 indeed does, consequently the code already gets build without any of -MMCCAM kernels. I'm going to revert this review back to previous form then.

mjg retitled this revision from Sort out MMCCAM kernels vs make universe to Exclude MMCCAM kernels from make universe.
mjg edited the summary of this revision. (Show Details)
This revision now requires review to proceed.Feb 16 2023, 12:48 AM
In D38458#878947, @mjg wrote:

So I tested all the archs.

armv7 and amd64 don't have MMCCAM in LINT, but arm64 indeed does, consequently the code already gets build without any of -MMCCAM kernels. I'm going to revert this review back to previous form then.

If arm64 LINT build the code I'm good with it then.

This revision is now accepted and ready to land.Feb 16 2023, 6:56 AM
This revision was automatically updated to reflect the committed changes.