All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chao Fan <fanc.fnst@cn.fujitsu.com>
To: Borislav Petkov <bp@alien8.de>
Cc: <linux-kernel@vger.kernel.org>, <x86@kernel.org>,
	<tglx@linutronix.de>, <mingo@redhat.com>, <hpa@zytor.com>,
	<keescook@chromium.org>, <bhe@redhat.com>,
	<msys.mizuma@gmail.com>, <indou.takao@jp.fujitsu.com>,
	<caoj.fnst@cn.fujitsu.com>
Subject: Re: [PATCH v13 1/6] x86/boot: Introduce kstrtoull() to boot directory instead of simple_strtoull()
Date: Fri, 14 Dec 2018 10:59:17 +0800	[thread overview]
Message-ID: <20181214025917.GF24409@localhost.localdomain> (raw)
In-Reply-To: <20181213125059.GC25287@zn.tnic>

>> +static inline u64 div_u64_rem(u64 dividend, u32 divisor, u32 *remainder)
>> +{
>> +	union {
>> +		u64 v64;
>> +		u32 v32[2];
>> +	} d = { dividend };
>> +	u32 upper;
>> +
>> +	upper = d.v32[1];
>> +	d.v32[1] = 0;
>> +	if (upper >= divisor) {
>> +		d.v32[1] = upper / divisor;
>> +		upper %= divisor;
>> +	}
>> +	asm ("divl %2" : "=a" (d.v32[0]), "=d" (*remainder) :
>> +		"rm" (divisor), "0" (d.v32[0]), "1" (upper));
>> +	return d.v64;
>> +}
>
>Why aren't you using the simple one from include/linux/math64.h ?

Cant't use div_u64() in math64.h directly, because  that will cause ld error.

Even in 64-bit environment, arch/x86/boot/*.o will be built as 32-bit
binary. In 64-bit binary, the dividend is handled as 64-bit value,
that's OK, but in 32-bit binary, that's wrong. So it's necessary
to separate the dividend to upper and lower in 32-bit binary.
That's why copy the needed div_u64() here.

So, when copying kstrtoull(), we should copy div_u64().
When trying to include lib/kstrtox.c, even if other error in make period
are solved, we will also meet this error. We should also copy div_u64
also. And then cover the math64.h in boot/string.c, and hanlde the other
error and warining who comes together.

So just like Baoquan said, it's a good choice to use simple_strtoull()
for now.

Thanks,
Chao Fan

>
>Rest looks ok.
>
>-- 
>Regards/Gruss,
>    Boris.
>
>Good mailing practices for 400: avoid top-posting and trim the reply.
>
>



  reply	other threads:[~2018-12-14  3:00 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-12  3:10 [PATCH v13 0/6] x86/boot/KASLR: Parse ACPI table and limit KASLR to choosing immovable memory Chao Fan
2018-12-12  3:10 ` [PATCH v13 1/6] x86/boot: Introduce kstrtoull() to boot directory instead of simple_strtoull() Chao Fan
2018-12-12  4:12   ` Chao Fan
2018-12-12  8:03     ` Baoquan He
2018-12-13 13:26       ` Borislav Petkov
2018-12-14  1:34         ` Chao Fan
2018-12-14 10:38           ` Borislav Petkov
2018-12-17  1:27         ` Chao Fan
2018-12-17 15:45           ` Borislav Petkov
2018-12-18  3:20             ` Chao Fan
2018-12-12  7:46   ` Baoquan He
2018-12-12  8:10     ` Chao Fan
2018-12-13 12:50   ` Borislav Petkov
2018-12-14  2:59     ` Chao Fan [this message]
2018-12-14 11:57       ` Borislav Petkov
2018-12-16 19:22   ` kbuild test robot
2018-12-16 20:31     ` Borislav Petkov
2018-12-12  3:10 ` [PATCH v13 2/6] x86/boot: Introduce get_acpi_rsdp() to parse RSDP in cmdline from KEXEC Chao Fan
2018-12-13 19:25   ` Masayoshi Mizuma
2018-12-13 19:29     ` Borislav Petkov
2018-12-13 19:38       ` Masayoshi Mizuma
2018-12-14  1:32     ` Chao Fan
2018-12-13 19:42   ` Borislav Petkov
2018-12-14  1:31     ` Chao Fan
2018-12-12  3:10 ` [PATCH v13 3/6] x86/boot: Introduce efi_get_rsdp_addr() to find RSDP from EFI table Chao Fan
2018-12-13 20:23   ` Borislav Petkov
2018-12-14  1:28     ` Chao Fan
2018-12-17 17:16   ` Masayoshi Mizuma
2018-12-12  3:10 ` [PATCH v13 4/6] x86/boot: Introduce bios_get_rsdp_addr() to search RSDP in memory Chao Fan
2018-12-12  3:10 ` [PATCH v13 5/6] x86/boot: Parse SRAT from RSDP and store immovable memory Chao Fan
2018-12-12  3:10 ` [PATCH v13 6/6] x86/boot/KASLR: Limit KASLR to extracting kernel in " Chao Fan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181214025917.GF24409@localhost.localdomain \
    --to=fanc.fnst@cn.fujitsu.com \
    --cc=bhe@redhat.com \
    --cc=bp@alien8.de \
    --cc=caoj.fnst@cn.fujitsu.com \
    --cc=hpa@zytor.com \
    --cc=indou.takao@jp.fujitsu.com \
    --cc=keescook@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=msys.mizuma@gmail.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.