How to compile QEMU with glib source code?

2024-03-19 Thread Liu Jaloo
How to compile QEMU with glib source code? But not with the glib library
I want to debug QEMU by stepping into glib internally.
Thanks.


Re: make: *** No rule to make target 'i386/fp87.c', needed by 'i386/fp87.o'. Stop.

2023-12-07 Thread Liu Jaloo
Thanks, I'll check it out.
it does be a very old version, almost the first version of QEMU

$ git checkout initial -b initial

I will try it on my own, thanks a lot.

On Thu, Dec 7, 2023 at 7:32 PM Peter Maydell 
wrote:

> On Thu, 7 Dec 2023 at 11:20, Liu Jaloo  wrote:
> >
> > qemu checkout tag "initial" version, then
> > $ make
> >
> > report error, like this:
> > make: *** No rule to make target 'i386/fp87.c', needed by
> 'i386/fp87.o'.  Stop.
> >
> > How or where can I get the resource about folder "i386", just like OBJS
> in Makefile
> >
> > OBJS= i386/fp87.o i386/interp_main.o i386/interp_modrm.o
> i386/interp_16_32.o \
> >   i386/interp_32_16.o i386/interp_32_32.o i386/emu-utils.o \
> >   i386/dis8086.o i386/emu-ldt.o
>
> What version of QEMU are you trying to build? These lines
> have not been in Makefile since 2003 !
>
> If you're deliberately trying to build a very old version of
> QEMU, then you are on your own for that. You'll probably
> find it does not compile at all on a modern Linux with a
> modern C compiler.
>
> thanks
> -- PMM
>


make: *** No rule to make target 'i386/fp87.c', needed by 'i386/fp87.o'. Stop.

2023-12-07 Thread Liu Jaloo
qemu checkout tag "initial" version, then
$ make

report error, like this:
make: *** No rule to make target 'i386/fp87.c', needed by 'i386/fp87.o'.
Stop.

How or where can I get the resource about folder "i386", just like OBJS in
Makefile

OBJS= i386/fp87.o i386/interp_main.o i386/interp_modrm.o
i386/interp_16_32.o \
  i386/interp_32_16.o i386/interp_32_32.o i386/emu-utils.o \
  i386/dis8086.o i386/emu-ldt.o


Re: About "PC_MACHINE_CLASS" definition.

2023-08-31 Thread Liu Jaloo
Thanks a lot.

On Thu, Aug 31, 2023 at 2:11 PM Philippe Mathieu-Daudé 
wrote:

> Hi,
>
> On 31/8/23 05:15, Liu Jaloo wrote:
> > Where actually defined the "PC_MACHINE_CLASS", I can't find it in source
> > code, please help to point out the file.
>
> It is defined in include/hw/i386/pc.h:
>
> OBJECT_DECLARE_TYPE(PCMachineState, PCMachineClass, PC_MACHINE)
>
> The macro itself is defined in include/qom/object.h:
>
> /**
>   * OBJECT_DECLARE_TYPE:
>   * @InstanceType: instance struct name
>   * @ClassType: class struct name
>   * @MODULE_OBJ_NAME: the object name in uppercase with underscore
> separators
>   *
>   * This macro is typically used in a header file, and will:
>   *
>   *   - create the typedefs for the object and class structs
>   *   - register the type for use with g_autoptr
>   *   - provide three standard type cast functions
>   *
>   * The object struct and class struct need to be declared manually.
>   */
>
> See the QOM documentation:
>
> https://qemu-project.gitlab.io/qemu/devel/qom.html
>
> Regards,
>
> Phil.
>


About "PC_MACHINE_CLASS" definition.

2023-08-30 Thread Liu Jaloo
Where actually defined the "PC_MACHINE_CLASS", I can't find it in source
code, please help to point out the file.
Thanks.


Re: constructor vs. __constructor__

2023-08-24 Thread Liu Jaloo
Thanks for your reply.

On Thu, Aug 24, 2023 at 5:33 PM Peter Maydell 
wrote:

> On Thu, 24 Aug 2023 at 06:55, Markus Armbruster  wrote:
> >
> > Liu Jaloo  writes:
> >
> > > What's the difference between  "__attribute__((constructor))" and
> > > "__attribute__((__constructor__))" in qemu source?
> >
> > Reading the fine manual helps:
> >
> > You may optionally specify attribute names with ‘__’ preceding and
> > following the name.  This allows you to use them in header files
> > without being concerned about a possible macro of the same name. For
> > example, you may use the attribute name __noreturn__ instead of
> > noreturn.
>
> As usual in the QEMU sources, we are not particularly consistent
> about using one version compared to the other. However we
> mostly use the "__attribute__((foo))" form rather than
> "__attribute__((__foo__))" so if you're writing new code then
> prefer the former.
>
> We also have a handful of uses of "__attribute((foo))" and
> "__attribute((__foo__))". Definitely don't add more of those :-)
>
> thanks
> -- PMM
>


constructor vs. __constructor__

2023-08-23 Thread Liu Jaloo
What's the difference between  "__attribute__((constructor))" and
"__attribute__((__constructor__))" in qemu source?


Re: about QOP

2022-06-10 Thread Liu Jaloo
Thanks!
maybe QOP stands for QEMU OPs? that's maybe.

On Fri, Jun 10, 2022 at 6:31 PM Paolo Bonzini  wrote:

> On 6/10/22 04:01, Liu Jaloo wrote:
> > Dear Paul Brook:
> > in qemu/tcg/README:
> > "
> > ...
> > QOP code generator written by Paul Brook.
> > ...
> > "
> >
> > Is there some text about QOP? or basically what QOP stands for?
> >
> > I can't find out anything about QOP from Google. thanks.
>
>
> https://qemu-devel.nongnu.narkive.com/bCtjCaPs/hand-written-code-generator-2
> is what I could find, but the server is not active anymore.
>
> Paolo
>


about QOP

2022-06-09 Thread Liu Jaloo
Dear Paul Brook:
in qemu/tcg/README:
"
...
QOP code generator written by Paul Brook.
...
"

Is there some text about QOP? or basically what QOP stands for?

I can't find out anything about QOP from Google. thanks.


why arm bootloader is big endian?

2022-05-17 Thread Liu Jaloo
from hw/arm/boot.c

static const ARMInsnFixup bootloader[] = {
{ 0xe28fe004 }, /* add lr, pc, #4 */
 ...
}

$ rasm2 -a arm -d -e 0xe28fe004
add lr, pc, 4

$ rasm2 --help
-e   Use big endian instead of little endian

why arm bootloader defalut is big endian?