Hi Andy, > -----Original Message----- > From: Andy Shevchenko [mailto:[email protected]] > Sent: Saturday, July 27, 2019 6:06 AM > To: Park, Aiden <[email protected]> > Cc: Bin Meng <[email protected]>; U-Boot Mailing List <u- > [email protected]>; Simon Glass <[email protected]> > Subject: Re: [PATCH v6 5/8] x86: slimbootloader: Set TSC information for > tsc_timer > > On Fri, Jul 26, 2019 at 3:50 PM Park, Aiden <[email protected]> wrote: > > > On Fri, Jul 26, 2019 at 10:00 AM Park, Aiden <[email protected]> wrote: > > > > > > > > Slim Bootloader already calibrated TSC and provides it to U-Boot. > > > > Therefore, U-Boot does not have to re-calibrate TSC. > > > > Configuring tsc_base and clock_rate makes x86 tsc_timer driver > > > > bypass TSC calibration and use the provided TSC frequency. > > > > - Get TSC frequency from performance info hob > > > > - Set tsc_base and clock_rate for tsc_timer driver > > > > > > I'm still not convinced to have this. As kernel followed by U-Boot > > > we thrust hardware more than something else. > > > One more layer in between is usually an additional point to be > > > error-prone. > > > > > > So, if something we may get directly from hardware, I consider > > > better to get it from there. > > > > > > Of course, data structures can be left for sake of self-documentation. > > > > > Basically, Providing known information to a payload is Slim Bootloader > > architecture concept. Slim Bootloader does initialize chipset and > > hardware as much as it can, and provides useful information to a > > payload in HOBs to minimize hardware re-initialization in a payload, > > make it generic and make it light-weight. > > > > TSC frequency is specific to CPU or chipset, and the way to get exact > > TSC frequency also varies depending on CPU. > > ex) checking cpuid, platform info MSR, perf MSR for LFM/HFM/Turbo Mode, > or FSB. > > All these consideration has already done in Slim Bootloader on each CPUs. > > > > I think that U-Boot tsc_timer also considers this case, and that's why > > tsc_timer skips calibration in its probing time if tsc_base and > > clock_rate are already configured. > > > > Kernel uses many timers like TSC, APIC timer, 8254 timer, HPET and so on. > > I also understand kernel trusts hardware and re-calibrate them because > > all these timers may not be properly configured in boot firmware stage. > > But, HOB information including TSC must be trusted between Slim > > Bootloader and its payload(U-Boot) in Slim Bootloader architecture. > > Okay, I didn't remember if this is described in documentation. > If it's not, please, add a section and put there somelike you expleined to me > here. > Thanks for your understanding. Let me add more description in documentation.
> -- > With Best Regards, > Andy Shevchenko Best Regards, Aiden _______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

